东北大学秦皇岛c语言测验题.docx
- 文档编号:24631932
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:29
- 大小:23.33KB
东北大学秦皇岛c语言测验题.docx
《东北大学秦皇岛c语言测验题.docx》由会员分享,可在线阅读,更多相关《东北大学秦皇岛c语言测验题.docx(29页珍藏版)》请在冰豆网上搜索。
东北大学秦皇岛c语言测验题
东北大学(秦皇岛)c语言测验题
————————————————————————————————作者:
————————————————————————————————日期:
一、选择题答案
1.若a、b、c1、c2、x、y、均是整型变量,正确的switch语句是
A)swich(a+b);B)switch(a*a+b*b)
{case1:
y=a+b;break;{case3:
case0:
y=a-b;break;case1:
y=a+b;break;
}case3:
y=b-a,break;
}
C)switchaD)switch(a-b)
{casec1:
y=a-b;break{default:
y=a*b;break
casec2:
x=a*d;breakcase3:
case4:
x=a+b;break
default:
x=a+b;case10:
case11:
y=a-b;break;
}}
你所选择的答案是:
*,正确答案是:
D×
2.以下程序执行后sum的值是
main()
{inti,sum;
for(i=1;i<6;i++)sum+=i;
printf("%d\n",sum);
}
A)15
B)14
C)不确定
D)0
你所选择的答案是:
*,正确答案是:
C×
3.若变量c为char类型,能正确判断出c为小写字母的表达式是
A)'a'<=c<='z'
B)(c>='a')||(c<='z')
C)('a'<=c)and('z'>=c)
D)(c>='a')&&(c<='z')
你所选择的答案是:
*,正确答案是:
D×
4.以下所列的各函数首部中,正确的是
A)voidplay(var:
Integer,varb:
Integer)
B)voidplay(inta,b)
C)voidplay(inta,intb)
D)Subplay(aasinteger,basinteger)
你所选择的答案是:
*,正确答案是:
C×
5.下列程序的运行结果是
voidfun(int*a,int*b)
{int*k;
k=a;a=b;b=k;
}
main()
{inta=3,b=6,*x=&a,*y=&b;
fun(x,y);
printf("%d%d",a,b);
}
A)63
B)36
C)编译出错
D)00
你所选择的答案是:
*,正确答案是:
B×
6.以下只有在使用时才为该类型变量分配内存的存储类说明是
A)auto和static
B)auto和register
C)register和static
D)extern和register
你所选择的答案是:
*,正确答案是:
B×
7.以下程序的输出结果是
main()
{inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for(i=1;i<3;i++)
for(j=0;j<=i;j++)s+=a[i][j];
printf("%dn",s);
}
A)18
B)19
C)20
D)21
你所选择的答案是:
*,正确答案是:
A×
8.以下合法的赋值语句是
A)x=y=100
B)d--;
C)x+y;
D)c=int(a+b);
你所选择的答案是:
*,正确答案是:
B×
9.设正x、y均为整型变量,且x=10y=3,则以下语句的输出结果是
printf("%d,%d\n",x--,--y);
A)10,3
B)9,3
C)9,2
D)10,2
你所选择的答案是:
*,正确答案是:
D×
10.假定w、x、y、z、m均为int型变量,有如下程序段:
w=1;x=2;y=3;z=4;
m=(w w;x;m=(m m;y;m=(m m;z; 则该程序运行后,m的值是it A)4 B)3 C)2 D)2 你所选择的答案是: *,正确答案是: D× 11.设有以下函数: f(inta) {intb=0; staticintc=3; b++;c++; return(a+b+c); } 如果在下面的程序中调用该函数,则输出结果是 main() {inta=2,i; for(i=0;i<3;i++)printf("%d\n",f(a)); } A)7 8 9 B)7 9 11 C)7 10 13 D)7 7 7 你所选择的答案是: *,正确答案是: A× 12.假定int类型变量占用两个字节,其有定义: intx[10]={0,2,4};,则数组x在内存中所占字节数是 A)3 B)6 C)10 D)20 你所选择的答案是: *,正确答案是: D× 13.以下程序的输出结果是 main() {charst[20]="hello\0\t\\\"; printf(%d%d\n",strlen(st),sizeof(st)); } A)99 B)520 C)1320 D)2020 你所选择的答案是: *,正确答案是: B× 14.以下程序段的输出结果是 inta=1234; printf("%2d\n",a); A)12 B)34 C)1234 D)提示出错、无结果 你所选择的答案是: *,正确答案是: C× 15.以下程序的输出结果是 main() {charx=040; printf("%d\n",x<<1); } A)100 B)80 C)64 D)32 你所选择的答案是: *,正确答案是: C× 16.以下程序的输出结果是 main() {intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1; for(i=0;i<3;i++) for(j=i;j<=i;j++)t=t+b[i][b[j][j]]; printf("%d\n",t); } A)3 B)4 C)1 D)9 你所选择的答案是: *,正确答案是: B× 17.若以下定义: structlink {intdata; strucklink*next; }a,b,c,*p,*q; 且变量a和b之间已有如下图所示的链表结构: ab datanextdatanext ┌──┬──┐┌──┬──┐ │5│┼──→│9│\0│ └──┴──┘└──┴──┘ ↑p c datanext ┌──┬──┐ │7││ └──┴──┘ ↑q 指针p指向变量a,q指向变量c。 则能够把c插入到a和b之间并形成新的链表的语句组是: A)a.next=c;c.next=b; B)p.next=q;q.next=p.next; C)p->next=&c;q->next=p->next; D)(*p).next=q;(*q).next=&b; 你所选择的答案是: *,正确答案是: C× 18.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\101'是 A)字符A B)字符a C)字符e D)非法的常量 你所选择的答案是: *,正确答案是: A× 19.以下非法的赋值语句是 A)n=(i=2,++i); B)j++; C)++(i+1); D)x=j>0; 你所选择的答案是: *,正确答案是: C× 20.设有定义: longx=-123456L;,则以下能够正确输出变量x值的语句是 A)printf("x=%d\n",x); B)printf("x=%Ld\n",x); C)printf("x=%8dL\n",x); D)printf("x=%LD\n",x); 你所选择的答案是: *,正确答案是: B× 21.有以下程序段 intn=0,p; do{scanf("%d",&p);n++;}while(p! =12345&&n<3); 此处do-while循环的结束条件是 A)P的值不等于12345并且n的值小于3 B)P的值等于12345并且n的值大于等于3 C)P的值不等于12345或者n的值小于3 D)P的值等于12345或者n的值大于等于3 你所选择的答案是: *,正确答案是: D× 22.以下程序中函数sort的功能是对a所指数组中的数据进行由大到小的排序 voidsort(inta[],intn) {inti,j,t; for(i=0;i for(j=i+1,j if(a[i]} main() {intaa[10]={1,2,3,4,5,6,7,8,9,10},i; sort(&aa[3],5); for(i=o;i<10;i++)print("%d,",aa[i]); printf('\n"); } 程序运行后的输出结果是 A)1,2,3,4,5,6,7,8,9,10B)10,9,8,7,6,5,4,3,2,1, C)1,2,3,8,7.6.5.4.9,10D)1,2,10,9,8,7,6,5,4,3 你所选择的答案是: *,正确答案是: C× 23.以下叙述中错误的是 A)二进制文件打开后可以先读文件的末尾,而顺序文件不可以 B)在程序结束时,应当用fclose函数关闭已打开的文件 C)在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据 D)不可以用FILE定义指向二进制文件的文件指针 你所选择的答案是: *,正确答案是: D× 24.在一个C程序中( )。 A)main函数必须出现在所有函数之前 B)main函数可以在任何地方出现 C)main函数必须出现在所有函数之后 D)main函数必须出现在固定位置 你所选择的答案是: *,正确答案是: B× 25.下列关于C语言用户标识符的叙述中正确的是 A)用户标识符中可以出现在下划线和中划线(减号) B)用户标识符中不可以出现中划线,但可以出现下划线 C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头 D)用户标识符中可以出现在下划线和数字,它们都可以放在用户标识符的开头 你所选择的答案是: *,正确答案是: B× 26.有以下程序 main() {intx[8]={8,7,6,5,0,0},*s; s=x+3 printf("%d\n",s[2]); } 执行后输出结果是( )。 A)随机值 B)0 C)5 D)6 你所选择的答案是: *,正确答案是: B× 27.有以下程序 main() {ints=0,a=1,n; scanf("%d",&n); do {s+=1;a=a-2;} while(a! =n); printf("%d\n",s); } 若要使程序的输出值为2,则应该从键盘给n输入的值是( )。 A)-1 B)-3 C)-5 D)0 你所选择的答案是: *,正确答案是: B× 28.以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址 #include #include char*scmp(char*s1,char*s2) {if(strcmp(s1,s2)<0) return(s1); elsereturn(s2); } main() {inti;charstring[20],str[3][20]; for(i=0;i<3;i++)gets(str[i]); strcpy(string,scmp(str[0],str[1]));/*库函数strcpy对字符串进行复制*/ strcpy(string,scmp(string,str[2])); printf("%s\n",string); } 若运行时依次输入: abcd、abba和abc三个字符串,则输出结果为( )。 A)abcd B)abba C)abc D)abca 你所选择的答案是: *,正确答案是: B× 29.有以下程序 main() { inta[3][3],*p,i; p=&a[0][0]; for(i=0;i<9;i++)p[i]=i+1; printf("%d\n",a[1][2]); } 程序运行后的输出结果是( )。 A)3 B)6 C)9 D)2 你所选择的答案是: *,正确答案是: B× 30.以下叙述中正确的是( )。 A)C语言的源程序不必通过编译就可以直接运行 B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令 C)C源程序经编译形成的二进制代码可以直接运行 D)C语言中的函数不可以单独进行编译 你所选择的答案是: *,正确答案是: D× 31.以下符合C语言语法的实型常量是( )。 A)1.2E0.5 B)3.14.159E C).5E-3 D)E15 你所选择的答案是: *,正确答案是: C× 32.有以下程序 main() { intx=0,y=5,z=3; while(z-->0&&++x<5)y=y-1; printf("%d,%d,%d\n",x,y,z); } 程序执行后的输出结果是( )。 A)3,2,0 B)3,2,-1 C)4,3,-1 D)5,-2,-5 你所选择的答案是: *,正确答案是: B× 33.设有定义: intn=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是( )。 A)p=1; B)*q=2; C)q=p; D)*p=5; 你所选择的答案是: *,正确答案是: D× 34.有以下程序 main() { char*p[10]={"abc","aabdfg","dcdbe","abbd","cd"}; printf("%d\n",strlen(p[4])); } 执行后输出结果是( )。 A)2 B)3 C)4 D)5 你所选择的答案是: *,正确答案是: A× 35.下面程序的功能是输出以下形式的金字塔图案是: * *** ***** ******* main() {inti,j; for(i=1;i<=4;i++) {for(j=1;j<=4-i;j++)printf(““); for(j=1;j<=_______;j++)printf(“*”); printf(“\n”); } } 在下划线处应填入的是( )。 A)i B)2*i-1 C)2*i+1 D)i+2 你所选择的答案是: *,正确答案是: B× 36.有以下程序 voidf(inta[],inti,intj) { intt; if(i { t=a[i];a[i]=a[j];a[j]=t; f(a,i+1,j-1); } } main() { inti,aa[5]={1,2,3,4,5}; f(aa,0,4); for(i=0;i<5;i++)printf("%d,",aa[i]);printf("\n"); } 执行后输出结果是( )。 A)5,4,3,2,1, B)5,2,3,4,1, C)1,2,3,5,4, D)1,2,3,4,5, 你所选择的答案是: *,正确答案是: A× 37.有以下定义语句 doublea,b;intw;longc; 若各变量已正确赋值,则下列选项中正确的表达式是( )。 A)a=a+b=b++ B)w%(int)a+b) C)(c+w)%(int)a D)w=a==b; 你所选择的答案是: *,正确答案是: C× 38.有以下程序 main() {inti; for(i=0;i<3;i++) switch(i) { case0: printf("%d",i); case2: printf("%d",i); default: printf("%d",i); } } 程序运行后的输出结果是( )。 A)022111 B)021021 C)000122 D)012 你所选择的答案是: *,正确答案是: C× 39.若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是( )。 A)abs(x-y)<10 B)x-y>-10&&x-y<10 C)! (x-y)<-10||! (y-x)>10 D)(x-y)*(x-y)<100 你所选择的答案是: *,正确答案是: C× 40.有以下程序 main() {chara,b,c,d; scanf("%c,%c,%d,%d",&a,&b,&c,&d); printf("c,%c,%c,%c\n",a,b,c,d); } 若运行时从键盘上输入: 6,5,65,66<回车>。 则输出结果是( )。 A)6,5,A,B B)6,5,65,66 C)6,5,6,5 D)6,5,6,6 你所选择的答案是: *,正确答案是: A× 41.s12和s2已正确定义并分别指向两个字符串。 若要求: 当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是( )。 A)if(s1>s2)S; B)if(strcmp(s1,s2))S; C)if(strcmp(s2,s1)>0)S; D)if(strcmp(s1,s2)>0)S; 你所选择的答案是: *,正确答案是: D× 42.有以下定义和语句 inta[3][2]={1,2,3,4,5,6,},*p[3]; p[0]=a[1]; 则*p[0]+1)所代表的数组元素是( )。 A)a[0][1] B)a[1][0] C)a[1][1] D)a[1][2] 你所选择的答案是: *,正确答案是: C× 43.有如下程序 #include main() {FILE*fp1; fp1=fopen("f1.txt","w"); fprintf(fp1,"abc"); fclose(fp1); } 若文本文件f1.txt中原有内容为: good,则运行以上程序后文件f1.txt中的内容为( )。 A)goodabc B)abcd C)abc D)abcgood 你所选择的答案是: *,正确答案是: C× 44.有以下程序 #include"stdio.h" #include"string.h" main() { chara[7]="abcd";inti,j; i=sizeof(a);j=strlen(a); printf("%d%d",i,j); } 程序运行后的输出结果是( )。 A)22 B)74 C)72 D)62 你所选择的答案是: *,正确答案是: B× 45.以下能正确定义一维数组的选项是( )。 A)inta[5]={0,1,2,3,4,5}; B)chara[]={0,1,2,3,4,5}; C)chara={'A','B','C'}; D)inta[5]="0123"; 你所选择的答案是: *,正确答案是: B× 46.有以下程序 #defineN20 fun(inta[],intn,intm) {inti,j; for(i=m;i>=n;i--) a[i+1]=a[i]; } main() { inti,a[N]={1,2,3,4,5,6,7,8,9,10}; fun(a,2,9); for(i=0;i<5;i++) printf("%d",a[i]); } 程序运行后的输出结果是( )。 A)10234 B)12344 C)12334 D)12234 你所选择的答案是: *,正确答案是: C× 47.以下语句或语句组中,能正确进行字符串赋值的是( )。 A)char*sp;*sp="right! "; B)chars[10];s="right! "; C)chars[10];*s="right! "; D)char*sp="right! "; 你所选择的答案是: *,正确答案是: D× 48.设有如下说明 typedefstructST { longa; intb; charc[2]; }NEW; 则下面叙述中正确的是( )。 A)以上的说明形式非法 B)ST是一个结构体类型 C)NEW是一个结构体类型 D)NEW是一个结构体变量 你所选择的答案是: *,正确答案是: C× 49.有以下程序 main() { chars[]="159",*p; p=s; printf("%c",*p++); printf("%c",*p++); } 程序运行后的输出结果是( )。 A)15 B)16 C)12 D)59 你所选择的答案是: *,正确答案是: A× 50.有以下程序 main() { intnum[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j; for(i=0;i<4;i++) { for(j=1;j<=i;j++)printf("%c",''); for(j=j<4;j++)printf("%4d",num[i][j]); printf(""); } } 若要按以下形式输出数组右上半三角 1234 678 1112 16 则在程序下划线处应填入的是( )。 A)i-1 B)i C)i+1 D)4-i 你所选择的答案是: *,正确答案是: B× 51.当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是( )。 A)k%2 B)k%
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 东北大学 秦皇岛 语言 测验