当前位置:首页 » 编程语言 » c语言上机考试题

c语言上机考试题

发布时间: 2023-10-26 16:27:50

‘壹’ c语言期末上机考试题答案征集

//开发环境:BC++31

//第一题
#include <stdio.h>
#include <conio.h>

void main(void)
{
int i,j;

clrscr();
for(i=1;i<=9;i++)
{
for(j=1;j<=9;j++)
{
if(j==1)
{
printf("%2d ",i);
}
else
{
printf("%2d ",i*j);
}
}
printf("\n");
}
}

//第二题
#include <stdio.h>
#include <conio.h>

void main(void)
{
char str[6]={'A','B','C','D','E','Z'};
int i,j;

clrscr();
for(i=6;i>=1;i--)
{
for(j=i%6;j<=i%6+5;j++)
{
printf("%2c",str[j%6]);
}
printf("\n");
}
}

//第三题
#include<stdio.h>
#include<conio.h>
#include<string.h>

void circlewordif(char *p)
{
int l,i;

l=strlen(p);
for(i=0;i<=i/2;i++)
{
if(*p!=*(p+l-i-1))
{
break;
}
}
if(i<=i/2)
{
printf("NO!");
}
else
{
printf("YES!");
}
}

void main(void)
{
char str[100];

clrscr();
printf("Please input the string:");
gets(str);
circlewordif(str);
}

//第八题
#include <stdio.h>
#include <conio.h>
#include <math.h>

void main(void)
{
int num=0;

clrscr();
while((int)(sqrt(num+100))*(int)(sqrt(num+100))!=num+100||(int)(sqrt(num+168))*(int)(sqrt(num+168))!=num+168)
{
num++;
}
printf("The Answer is:%d\n",num);
printf("Please input the day:(1~31)");
scanf("%d",&num);
printf("The Answer is:%d\n",(num+4)%7);
}

//第九题
#include <stdio.h>
#include <conio.h>

void main(void)
{
int num[3][3];
int i,j,k;

clrscr();
for(i=0;i<3;i++)
{
printf("Please input line %d:",i);
scanf("%d,%d,%d",&num[i][0],&num[i][1],&num[i][2]);
}
printf("Before Change...\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%2d ",num[i][j]);
}
printf("\n");
}
for(i=0;i<3;i++)
{
for(j=i+1;j<3;j++)
{
k=num[i][j];
num[i][j]=num[j][i];
num[j][i]=k;
}
}
printf("After Change...\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%2d ",num[i][j]);
}
printf("\n");
}
}

//第十题
#include <stdio.h>
#include <conio.h>

void main(void)
{
int num[8];
int *max,*min;
int i,j;

clrscr();
printf("Please input 8 numbers:\n");
for(i=0;i<8;i++)
{
scanf("%d",&num[i]);
}
printf("Your numbers are...\n");
for(i=0;i<8;i++)
{
printf("%2d",num[i]);
}
max=num;min=num;
for(i=0;i<8;i++)
{
if(num[i]>*max)
{
max=&num[i];
}
if(num[i]<*min)
{
min=&num[i];
}
}
j=*min;*min=*max;*max=j;
printf("\nAfter Change...\n");
for(i=0;i<8;i++)
{
printf("%2d",num[i]);
}
}

//第十一题
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>

void main(void)
{
int n,i,j,t,*max,num;
int count[4]={0};

clrscr();
randomize();
printf("Please input the people's number:\nn=");
scanf("%d",&n);
printf("Vote Start...\n");
for(i=0;i<n;i++)
{
t=random(4);
if(t<0||t>3)
{
i--;
continue;
}
count[t]++;
printf("%-2c",t+65);
}
printf("\nVote Complete...\n");
for(i=0;i<4;i++)
{
max=count;num=0;
for(j=1;j<4;j++)
{
if(count[j]>*max)
{
max=&count[j];
num=j;
}
}
printf("%d.%c---->%d\n",i+1,num+65,*max);
*max=0;
}
}

‘贰’ 9月计算机二级《C语言》上机考题及答案

1、以下选项中属于C语言的数据类型是()。

A. 复合型

B. 双精度型

C. 逻辑型

D. 集合型

2、以下说法中正确的是()。

A. C语言程序总是从第一个的函数开始执行

B. 在C语言程序中,要调用的函数必须在main()函数中定义

C. C语言程序总是从main()函数开始执行

D. C语言程序中的main()函数必须放在程序的开始部分

3、选出下列标识符中不是合法的标识符的是()。

A. hot_do

B. cat1

C. _pri

D. 2ab

4、下列描述中不正确的是()。

A、字符型数组中可能存放字符串。

B、可以对字符型数组进行整体输入、输出。

C、可以对整型数组进行整体输入、输出。

D、 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。

5、若已定义:int a[9], *p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为()。

A. p+1

B. a+1

C. a++

D. ++p

6、设有如下定义: int x=10,y=3,z; 则语句printf("%d ",z=(x%y,x/y)); 的输出结果是()。

A. 1

B. 0

C. 4

D. 3

7、定义如下变量和数组: int i, x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++) printf("%d",x[i][2-i]); 的输出结果是()

A. 1 5 9

B. 1 4 7

C. 3 5 7

D. 3 6 9

8、读出以下语句的输出结果是()。

int x=10,y=10;

printf(“%d %d ”,x--,--y);

A. 10 10

B. 9 9

C. 9 10

D. 10 9

9、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是()。

if(x++>5) printf("%d",x);

else printf("%d ",x - -);

A. 7和5

B. 6和3

C. 7和4

D. 6和4

10、设有如下定义:char *aa[2]={"abcd","ABCD"};则以下说法中正确的是()。

A)aa数组成元素的值分别是"abcd"和ABCD"

B)aa是指针变量,它指向含有两个数组元素的字符型一维数组

C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的`首地址

D)aa数组的两个元素中各自存放了字符’a’和’A’的地址

11、以下语句的输出结果是()。

int a=-1,b=4,k;

k=(+ +a<0)&&!(b - -<=0);

printf("%d,%d,%d ",k,a,b);

A. 1,0,4

B. 1,0,3

C. 0,0,3

D. 0,0,4

12、下列程序的输出结果是()。

char *p1="abcd", *p2="ABCD", str[50]="xyz";

strcpy(str+2,strcat(p1+2,p2+1));

printf("%s",str);

A. xyabcAB

B. abcABz

C. ABabcz

D. xycdBCD

13、执行下面的程序后,a的值是()。

#define SQR(X) X*X

main()

{ int a=10,k=2,m=1;

a/=SQR(k+m)/SQR(k+m);

printf("%d ",a); }

A. 10

B. 1

C. 9

D. 0

14、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为()。

A.P+i*2

B. P+(i-1)*2

C. P+(i-1)

D. P+i

15、下列程序执行后输出的结果是()。

int d=1;

fun (int p)

{ int d=5;

d + =p + +;

printf("%d,",d); }

main()

{ int a=3;

fun(a);

d + = a + +;

printf("%d ",d); }

A. 8, 4

B. 9, 6

C. 9, 4

D. 8, 5

16、表达式:10!=9的值是()。

A. true

B. 非零值

C. 0

D. 1

17、若有说明: int i,j=7, *p=&i;, 则与i=j; 等价的语句是()。

A. i= *p;

B. *p=*&j;

C. i=&j;

D. i=* *p;

18、不能把字符串:Hello!赋给数组b的语句是()。

A. char b[10]={’H’,’e’,’l’,’l’,’o’,’!’};

B. char b[10]; b="Hello!";

C. char b[10]; strcpy(b,"Hello!");

D.char b[10]="Hello!";

19、在C程序中有如下语句:char *func(int x,int y); 它是()。

A. 对函数func的定义。

B. 对函数func的调用。

C.对函数func的原型说明。

D. 不合法的。

20、以下程序的输出结果是()。

char str[15]=”hello!”;

printf(“%d ”,strlen(str));

A. 15

B. 14

C. 7

D. 6

参考答案:

1、B 2、C 3、D 4、C 5、C 6、D 7、C 8、D 9、C 10、D

11、D 12、D 13、B 14、B 15、A 16、D 17、B 18、B 19、C 20、D

‘叁’ 二级C语言上机考试有题库嘛

上机考试试题
1、填空题
下列给定程序中,函数fun()的作用是:将字符串tt中的大写字母都改为对应的小写字母,其他字符不变。例如,若输入“Ab,cD”,则输出“ab,cd”。
试题程序:
# include <stdio.h>
# include <stdio.h>
# include <conio.h>
Char【1】fun(char tt[])
{
int i;
for (i=0;tt[i];i++)
{
if ((tt[i]>=’A’)&&(tt[i]<=【2】))
tt[i]+=32;
}
return(tt);
}
main()
{
char tt[81];
printf (“\nPlease enter a string:”);
gets (tt);
printf (“\nThe result string is: \n%s”,fun(【3】));
}
2、改错题
下列给定程序中,函数fun()的功能是逐个比较a,b两个字符串对应位置中的字符,把ASCII值小或相等的字符依次存放到c数组中,形成一个新的字符串。
例如:a中的字符串为fshADfg,b中的字符为sdAEdi,则c中的字符串应为fdAADf。
请改正程序中的错误,使它能得到正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
# include <stdio.h>
# include <string.h>
void fun(char *p,char *q,char *c)
{ int k=0;
while(*p‖*q)
/***************found******************/
{ if (*p<=*q)
c[k]=*q;
else c[k]=*p;
if (*p) p++;
if(*q) q++;
/***************found*******************/
k++
}
}
main()
( char a[10]=”fshADfg”,b[10]=”sdAEdi”,c[80]={‘\0’};
fun(a,b,c);
printf(“The string a:”); puts(a);
printf(“The string b:”); puts(b);
printf(“The string c:”); puts(c);
}
3、编程
请编写函数fun,其功能是将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的十位和个位数依次放在c数的百位和千位上。
例如,当a=16,b=35,调用该函数后,c=5361。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语名。
试题程序:
# include<stdio.h>
void fun(int a,int b,long *c)
{

}
main()
{
int a,b;
long c;
clrscr();
printf(“Input a,b;”);
scanf(“%d%d”,&a&b);
fun(a,b,&c);
printf(“The result is:%d\n”,c);
}

‘肆’ C语言程序设计期末考试上机题,求各路大神帮忙解决啊!!紧急紧急啊!!!

//采用的方法是最小提取法
#include "stdio.h"
void main()
{
int a[10]={9,8,7,6,1,2,3,4,5,6};
sort(a); //调用sort函数
printf("排序后数组a的各个元素:")
for(i=0;i<10;i++)
{
printf("%5d",a[i]);
}
}
void sort(int a[10])
{
int min;
int t;
for(i=0;i<10;i++)
{
min=i;
for(j=i+1;j<9;j++)
{
if(a[min]>a[j]) min=j;
}
//将最小数与第i个元素交换
if(i!=min)
{
t=a[i];
a[i]=a[min];
a[min]=t;
}
}
}

热点内容
HBX编程 发布:2025-01-31 21:39:26 浏览:158
数据库精品课 发布:2025-01-31 21:38:14 浏览:418
sqlsever语句 发布:2025-01-31 21:34:57 浏览:142
文泰里配置文件列表如何改 发布:2025-01-31 21:34:45 浏览:440
python的jieba分词 发布:2025-01-31 21:33:23 浏览:672
外企配置怎么说 发布:2025-01-31 21:31:11 浏览:270
搜索算法bd 发布:2025-01-31 21:29:34 浏览:538
安卓系统怎么安装文件 发布:2025-01-31 21:21:32 浏览:866
分布式缓存架构图 发布:2025-01-31 21:19:54 浏览:661
win10怎么玩安卓游戏 发布:2025-01-31 21:13:48 浏览:186