答案
答案
答案
答案
16.已知i,j,k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1,j的值为2,k的值为3,以下选项中正确的输入语句是 A)scanf("-,-,-", i, j, k); B)scanf("%d %d %d",&i,&j,&k); C)scanf("%d,%d,%d",&i,&j,&k); D)scanf("i=%d,j=%d,k=%d",&i,&j,&k);
|
A B C D |
17.下列程序运行的结果是 main() { float x; int i; x=3.6; i=(int)x; printf("x=%f,i=%d ",x,i); } A)x=3.600000,i=3 B)x=3.6,i=3 C)x=3,i=3 D)x=3.600000,i=3.000000
|
A B C D |
18.若执行下面的程序时,从键盘上输入5和2,则输出结果是 main() { int a,b,k; scanf("%d,%d ",&a,&b); k=a; if(aelse k=b%a; printf("%d\n ",k); } A)5 B)3 C)2 D)0
|
A B C D |
19.C语言中 while 和do-while循环的主要区别是 A)do-while的循环体至少无条件执行一次 B)while的循环控制条件比do-while的循环控制条件更严格 C)do-while允许从外部转到循环体内 D)do-while 的循环体不能是复合语句
|
A B C D |
20.以下程序的输出结果是 main() { int x=1,y=3; printf("%d,",x++); { int x=0;x+=y*2; printf("%d,%d, ",x,y); } printf("%d,%d\n",x,y); } A)1,6,3,1,3 B)1,6,3,6,3 C)1,6,3,2,3 D)1,7,3,2,3
|
A B C D |
答案
21.下面程序输出的结果是 main() { int i; int a[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) printf("%d ",a[2-i][i]); } A)1 5 9 B)7 5 3 C)3 5 7 D)5 9 1
|
A B C D |
22.请阅读以下程序 main() { int a=5,b=0,c=0; if(a=b+c)printf("***\n"); else printf("$$$\n"); } 以上程序 A)有语法错不能通过编译 B)可以通过编译但不能通过连接 C)输出*** D)输出$$$
|
A B C D |
23.下面函数的功能是 char *fun(char *str1,char*str2) { while((*str1)&&(*str2++=*str1++)); return str2; } A)求字符串的长度 B)比较两个字符串的大小 C)将字符串str1复制到字符串str2中 D)将字符串str1接续到字符串str2中
|
A B C D |
24.设有如下定义 char *s[2]={ "abcd","ABCD"}; 则下列说法错误的是 A)s数组元素的值分别是"abcd"和"ABCD"两个字符串的首地址 B)s是指针数组名,它含有两个元素分别指向字符型一维数组 C)s数组的两个元素分别存放的是含有4个字符的一维字符数组中的元素 D)s数组的两个元素中分别存放了字符′a′和′A′的地址
|
A B C D |
25.以下不能对二维数组a进行正确初始化的语句是 A)int a[2][3]={0}; B)int a[][3]={{1,2},{0}}; C)int a[2][3]={{1,2},{3,4},{5,6}}; D)int a[][3]={1,2,3,4,5,6};
|
A B C D |
答案
26.有以下程序 struct STU { char num[10]; float score[3]; }; main() { struct STU s[3]={{"20021",90,95,85}, {"20022",95,80,75}, { "20023",100,95,90}, },*p=s; int i; float sum=0; for(i=0;i<3;i++) sum=sum+p->score[i]; printf("%6.2f\n",sum); } 程序运行后的输出结果是 A)260.00 B)270.00 C)280.00 D)285.00
|
A B C D |
27.设有如下函数 fun (float x) { printf("\n%d",x*x);} 则函数的类型是 A)与参数x的类型相同 B)是void C)是int型 D)无法确定
|
A B C D |
28.有如下定义 #define D 2 int x=5;float y=3.83; char c=′D′; 则下面选项中错误的是 A)x++; B)y++; C)c++; D)D++;
|
A B C D |
29.C语言规定,函数返回值的类型是由 A)return语句中的表达式类型所决定 B)调用该函数时的主调函数类型所决定 C)调用该函数时系统临时决定 D)在定义该函数时所指定的函数类型所决定
|
A B C D |
30.下列程序的运行结果是 void fun(int *a,int *b) { int *k; k=a;a=b;b=k; } main() { int a=2004, b=9,*x=&a,*y=&b; fun(x,y); printf("%d%d",a,b); } A)2004 9 B)9 2004 C)0 0 D)编译时出错
|
A B C D |
答案
31.下列程序是用来判断数组中特定元素的位置所在。如果输入如下整数: 876 675 896 101 301 401 980 431 451 777 #include #include int fun(int *s, int t, int *k) { int i; *k=0; for(i=0;iif(s[*k]return s[*k]; } main() { int a[10]={ 876,675,896,101,301,401,980,431,451,777},k; clrscr(); fun(a, 10, &k); printf("%d, %d\n ", k, a[k]); } 则输出结果为 A)7,431 B)6 C)980 D)6,980
|
A B C D |
32.下面程序应能对两个整型变量的值进行交换。以下正确的说法是 main() { int a=10,b=20; printf("(1)a=%d,b=%d\n",a,b); swap(&a,&b); printf("(2)a=%d,b=%d\n",a,b); } swap(int p,int q) { int t; t=p;p=q;q=t; } A)该程序完全正确 B)该程序有错,只要将语句swap(&a,&b);中的参数改为a,b即可 C)该程序有错,只要将swap()函数中的形参p和q以及t均定义为指针(执行语句不变)即可 D)以上说法都不对
|
A B C D |
33.有以下程序 #include main() { char *p,*q; p=(char *)malloc(sizeof(char)*20); q=p; scanf("%s %s",p,q); printf("%s %s\n",p,q); } 若从键盘输入:abc def<回车>,则输出结果是 A)def def B)abc def C)abc d D)d d
|
A B C D |
34.以下程序的输出结果是 int f() { static int i=0; int s=1; s+=i; i++; return s; } main() { int i,a=0; for(i=0;i<5;i++)a+=f(); printf("%d\n",a); } A)20 B)24 C)25 D)15
|
A B C D |
35. 有以下程序 #include struct NODE { int num; struct NODE *next; }; main() { struct NODE *p,*q,*r; p=(struct NODE*)malloc(sizeof(struct NODE)); q=(struct NODE*)malloc(sizeof(struct NODE)); r=(struct NODE*)malloc(sizeof(struct NODE)); p->num=10; q->num=20; r->num=30; p->next=q;q->next=r; printf("%d\n ",p->num+q->next->num); } 程序运行后的输出结果是 A)10 B)20 C)30 D)40
|
A B C D |
答案
答案
6.以下程序的输出结果是 【6】 。 main () { int i=010,j=10; pirntf ("%d,%d\n",i,j); }
|
输入答案,中间不含空格: |
7.下列程序的输出结果为 【7】 。 main () { int x=3,y=5; printf ("%d",x=(x--)*(--y)); } |
输入答案,中间不含空格: |
8.以下程序的输出结果是 【8】 。 fun (int x,int y,int z) { z =x*x+y*y;} main () { int a=31; fun (6,3,a) printf ("%d", a) }
|
输入答案,中间不含空格: |
9.已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=′a′+′8′-′3′的值为 【9】 。
|
输入答案,中间不含空格: |
10.若从键盘输入58,则以下程序输出的结果是 【10】 。 main() { int a; scanf("%d",&a); if(a>50)printf("%d",a); if(a>40)printf("%d",a); if(a>30)printf("%d",a); }
|
输入答案,中间不含空格: |
答案
11.下列程序的输出的结果是 【11】 和 【12】 。 main() { int i,j row,colum,m; static int array[3][3]={{100,200,300},{28,72,-30}{-850,2,6}}; m=array[0][0];for(i=0;i<3;i++) for(j=0;j<3;j++) if(array[i][j]<m) {m=array[i][j];colum=j;row=i;} printf("%d,%d,%d\n",m,row,colum); }
|
输入答案,中间不含空格: |
12.以下程序中,select 函数的功能是在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标。请填空。 #define N 3 #define M 3 select(int a[N][M],int *n) { int i,j,row=1,colum=1; for(i=0;i for(j=0;j if(a[i][j]>a[row][colum]){row=i;colum=j;} *n= 【13】 ; return 【14】 ; } main() { int a[N][M]={9,11,23,6,1,15,9,17,20},max,n; max=select(a,&n); printf("max=%d,line=%d\n",max,n); }
|
输入答案,中间不含空格: |
13.函数my_cmp()的功能是比较字符串s和t的大小,当s等于t时返回0,否则返回s和t的第一个不同字符的ASCII码差值,即s > t时返回正值,当s < t时返回负值。请填空。 my_cmp(char *s, char *t) { while (*s == *t) { if (*s == ′\0′)return 0; ++s; ++t; } return 【15】 ; }
|
输入答案,中间不含空格: |
|