在下列各题的备选项中,请选择一个最符合题意的选项。node
1) 如有如下程序段数组
int r=8; printf("%d\n",r>>1);
输出结果:是( )。
A.4
B.8
C.16
D.2函数
2) 如有如下语句spa
typedef struct S { int g; char h; } T;
如下叙述中正确的是( )。
A.可用T定义结构体变量
B.可用S定义结构体变量
C.S是struct类型的变量
D.T是struct S类型的变量设计
3) 如下选项中,当x为大于1的奇数时,值为0的表达式是( )。
A.x%2==0
B.x/2
C.x%2!=0
D.x%2==1指针
4) 有如下程序code
#include <stdio.h> #define f(x) x*x*x main() { int a=3,s,t; s=f(a+1); t=f((a+1)); printf("%d,%d\n",s,t); }
程序运行后的输出结果是( )。
A.10,64
B.10,10
C.64,10
D.64,64图片
5) char w;int x;float y;则表达式w*x+y-3.14的结果类型是()。
A.float
B.char
C.int
D.Double字符串
6) 若执行如下程序时从键盘上输入3和4,则输出的结果是( )。get
main() { int a,b,s; scanf("%d %d",&a,&b); s=a; if(a<b)s=b; s*=s; printf("%d\n",s); }
A.14
B.16
C.18
D.20
7) 下面程序的输出结果是( )。
#include <stdio.h> #define SUB(X,Y) (X)*Y main() { int a=3,b=4; printf("%d\n",SUB(a++,b++)); }
A.12
B.15
C.16
D.20
8) 指针s所指字符串的长度为( )。
char *s="\\abc\\\n";
A.9
B.7
C.6
D.说明不合法
9) 对于如下的变量定义,表达式( )不符合C语言语法。
struct node { int len; char *pk; } x = {2, "right"}, *p = &x;
A.p->pk
B.*p.pk
C.*p->pk
D.*x.pk
10) 若fp已正肯定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为( )。
A.-1
B.0
C.1
D.3
请将下列试题的空白处补充完整。
1) C语言程序老是从( )函数开始执行。
2) 的C语言表达式( )。
3) 下列程序的输出结果为________。
#include<stdio.h> main() { int m=8; if(m--<8) printf("%d\n",++m); else printf("%d\n",--m); }
4) 如有说明int a[3][4]={{1,2}, {0}, {4,6,8,10}}
,则a数组的元素个数为( )。
5) 己知int a[][3]={1,2,3,4,5,6};
,数组元素a[1][1]
的值是( )。
6) 有如下程序,执行后输出结果是____。
#include <stdio.h> main() { unsigned char a,b; a=4|3; b=4&3; printf("%d%d\n",a,b); }
请将下列程序中的空白处补充完整。
1) 本程序中函数fun的功能是将字符串tt中的大写字母都改成对应的小写字母,其余字符不变。例如,若输入"Ab,cD",则输出"ab,cd"。请将下述程序补充完整(注意:不改动程序的结构,不得增行或删行)。
#include <stdio.h> #include <string.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) 如下程序的功能是:求出数组x中各相邻两个元素的和依次存放到a数组中,而后输出。请填空。
main( ) { int x[10],a[9],i; for (i=0;i<10;i++)scanf("%d",&x[i]); for( 【1】 ;i<10;i++) a[i-1]=x[i]+ 【2】 ; for(i=0;i<9;i++) printf("%d",a[i]); printf("\n"); }
请按要求修改下列程序中的错误。
1) 下列给定程序的功能是:读入一个英文文本行,将其中每一个单词的第一个字母改为大写,而后输出此文本行(这里的“单词”是指由空格隔开的字符串)。例如,若输入“good luck!”,则应输出“Good Luck!”。
请修改程序中的错误,使程序能得出正确的结果。
注意:不要改动main函数,不能增行或删行,也不能更改程序的结构。
#include <ctype.h> #include <string.h> #include <stdio.h> /*******found*********/ void top(char s) { int i=0; for(;*s;s++) if(i) { if(*s==' ') i=0; } else { if(*s!=' ') { i=1; *s=toupper(*s); } } } main() { char str[81]; printf("\nPlease enter an English text line: "); gets(str); printf("\n\nBefore changing:\n %s",str); top(str); printf("\nAfter changing:\n %s\n",str); }
2) 下列给定的程序中,函数fun的功能是交换主函数中两个变量的值。例如,若变量x中的值为1,y中的值为2,则程序运行后x中的值为2,y中的值为1。
请修改程序中的错误,得出正确的结果。
注意:不要改动main函数,不能增行或删行,也不能更改程序的结构。
#include <stdio.h> /****found******/ void fun(int a,int b) { int t; /****found******/ t=a;a=b;b=t; } main() { int x,y; x=1; y=2; fun(&x,&y); printf("the result is %d,%d\n",x,y); }
请按照试题要求,完成规定的程序设计。
1) 编写程序验证歌德巴赫猜测:1000-2000中的每个偶数均可以表示成两个素数之和。若是此猜测成立,显示"all numbers are OK!;不然显示"n is not OK!",这里n是第一个使猜测不成立的偶数。
2) 编写程序,实现以下功能:
对键盘输入的两个字符串进行比较,而后输出两个字符串中第一个不相同字符的ASCII码之差。例如,输入的两个字符串分别为"abcdefg"和"abceef",则输出为-1。
3) N名学生的成绩已经在主函数中放入一个带头结点的链表结构中,head指向链表的头结点。请编写程序,它的功能是求出平均分、由函数值返回。