C程序设计A试卷

合集下载

c语言程序设计期末试题A(含答案)

c语言程序设计期末试题A(含答案)

c语言程序设计期末试题A(含答案)一、单项选择题(选择一个最佳答案,每题2分,共20分)1.一个C程序的执行是从( )。

A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束2.下列选项中,不能用作标识符的是( )。

A) _1234_B) _1_2C) int_2_D) 2_int_3.以下定义语句中正确的是( )。

A) char a='A'b='B';C) int a=10,*b=B) float a=b=10.0;D) float *a,b=4.设有以下定义:#define。

d。

2int。

a=0.double。

b=1.25.char c=’A’;则下面语句中错误的是()。

A) a++;B) b++C) c++;D) d++;5.以下4个选项中,不能作为一条C语句的是( )。

A) {;}B) a=0,b=0,c=0.C) if(a>0);D) if(b==0) m=1;n=2;6.有以下定义语句double a,b。

int w。

long c;若各变量已正确赋值,则下列选项中正确的表达式是( )。

A) a=a+b=b++B) w%(int)a+b)C) (c+w)%(int)aD) w=a==b;7.设有定义:int n=0,*p=&n,**q=则以下选项中,正确的赋值语句是( )。

A) p=1;B) *q=2;C) q=p;D) *p=5;8.设有定义:int a,*pa=以下scanf语句中能正确为变量a读入数据的是( )。

A) scanf(“%d”,pa)。

C) scanf(“%d”,&pa)。

B) scanf(“%d”,a)。

D) scanf(“%d”,*pa);9.如有申明:char*language[]={”FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};则表达式*language[1]>*language[2]比力的是()。

C程序设计考试题A

C程序设计考试题A

C语言程序设计考试题A注意事项:1. 答题前,请先在试卷和机读卡上对应位置用钢笔准确清楚的填写上本人姓名和学号,机读卡的科目栏里填写年级和专业的简称,并用2B铅笔填涂学号(必须填在前8列,剩最右边的一列不填涂);2. 试卷答案必须用2B铅笔在机读卡上按对应题号准确、清楚涂写,答在试卷上无效;3. 本试卷共74个小题,机读卡上按【1】~【80】的编号顺序涂写。

【1】~【60】每题1分,【61】~【80】每题2分,共100分。

1.在C语言中,要求参加运算的数必须是整数的运算符是【1】(A)/ (B)* (C)%(D)=2.以下不正确的说法是【2】(A)全局变量、静态变量的初值是在编译时指定的(B)静态数值型变量如果没有指定初值,则其初值为0(C)局部变量如果没有指定初值,则其初值不确定(D)函数中的静态变量在函数每次调用时,都会重新赋初值3.已知:int a[ ]={1,2,3,4},x,*pt=&a[1]; 则执行语句“x=(*--pt)++;”之后,变量x的值为【3】(A)1(B)2 (C)3 (D)44.已知:int x,*p=&x; 则下列输入输出x值的函数调用中错误的是【4】(A)scanf(“%d”,&x); (B)scanf(“%d”,p);(C)printf(“%d”,x); (D)printf(“%d”,p);5.在说明一个结构体变量时系统分配给它的存储空间是【5】(A)该结构体中第一个成员所需的存储空间(B)该结构体中最后一个成员所需的存储空间(C)该结构体中占用最大存储空间的成员所需的存储空间(D)该结构体中所有成员所需的存储空间的总和6.C语言中函数返回值的类型是由【6】决定的(A)return语句中的表达式类型(B)调用该函数的主调函数类型(C)调用函数时临时(D)定义函数时所指定的函数类型7.设有数组定义:char array [ ]="China"; 则数组array所占的空间为【7】(A卷)第 1 页共13 页(A)4个字节(B)5个字节(C)6个字节(D)7个字节8.凡在函数中未指定存储类别的变量,其隐含的存储类别为【8】(A)自动(auto)(B)静态(static) (C)外部(extern) (D)寄存器(extern) 9.下列选项中是非法的C语言转义字符的是【9】(A)'\b' (B)'\' (C)'\037' (D)'\xf'10.下面说法正确的是【10】(A)函数定义可以嵌套,但函数调用不能嵌套(B)函数定义不可以嵌套,但函数调用可以嵌套(C)函数定义和调用均不能嵌套(D)函数定义和调用均可以嵌套11.语句“static int i=10;”中,“i=10”的含义是【11】(A)将变量i初始化为10 (B)只说明了一个静态变量(C)与“auto int i=10;”在功能上等价(D)给变量i赋值为1012.下述对C语言字符数组的描述中错误的是【12】(A)字符数组可以存放字符串(B)字符数组中的字符串可以进行整体输入输出(C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值(D)字符数组的下标从0开始13.有以下说明和语句,且0<=i<10,则下面【13】是对数组元素地址的正确表示int a[ ]={1,2,3,4,5,6,7,8,9,0},*p,i;p=a;(A)&(a+1) (B)a++ (C)&p (D)&p[i]14.若有以下说明和语句,则p2-p1的值为【14】int a[10],*p1,*p2;p1=a; p2=&a[5];(A)5(B)6 (C)10 (D)错误的表达式15.已知:char s[10],*p=s; 则在下列语句中,错误的语句是【15】(A)p=s+5; (B)s=p+5; (C)s[2]=p[4]; (D)p[0]=’a’;16.已知:char s[10]; int i=1; 则在下列引用数组元素的表达式中,错误的表示形式是【16】(A)s[i] (B)*(s+i) (C)*s (D)*((s++)+i)17.已知:char a[5],*p=a; 则正确的赋值语句是【17】(A)a=”abcd”; (B)*a=”abcd”; (C)p=”abcd”;(D)*p=”abcd”;18.设有int i; char c; float f; 以下结果为整数的表达式是【18】(A卷)第 2 页共13 页(A 卷) 第 3 页 共 13 页(A )i+f (B )i*c (C )c+f (D )i+c+f19. 以下使变量i 的运算结果为4的表达式是【19】 (A )int i=0,j=0;(B )int i=1,j=0; (i=3,(j++)+i);j=i=((i=3)*2);(C )int i=1,j=1;(D )int i=1,j=1;(j==1)?(i=1):(i=3);i+=j+=2;20. 设char ch; 以下正确的赋值语句是【20】 (A )ch=’123’;(B )ch=’\xff ’;(C )ch=’\08’;(D )ch=’’\’’;21. 设n=10,i=4,则赋值运算n%=i+1执行后,n 的值为【21】 (A )0(B )3(C )2(D )122. 逗号表达式(a=3*5,a*4),a+15运算后,a 的值为【22】 (A )60(B )30(C )15(D )9023. 若有说明int x,y; 不能实现以下函数关系的程序段是【23】(A )if(x<0) y=-1;(B )if(x>=0) else if(x==0) y=0;if(x>0) y=1; else y=1;else y=0;else y=-1;(C )y=0; (D )y=-1; if(x>=0)if(x!=0) { if(x>0) y=1; } if(x>0) y=1;else y=-1;else y=0;24. 设有说明int s[2]={0,1},*p=s; 则下列错误的C 语句是【24】 (A )s+=1;(B )p+=1;(C )*p++;(D )(*p)++;25. 为了判断两个字符串s1和s2是否相等,应当使用【25】 (A )if(s1=s2)(B )if(s1==s2) (C )if(strcmp(s1,s2)==0)(D )if(strcpy(s1,s2))26. 一个C 程序执行是从【26】(A )第一个函数开始,直到最后一个函数结束 (B )第一个语句开始,直到最后一个语句结束⎪⎩⎪⎨⎧>===<-=)0(1)0(0)0(1x y x y x y(C)从main()函数开始,在main()函数中结束(D)从main()函数开始,直到源文件中的最后一个函数27.下列选项中是C语言提供的合法的数据类型关键字的是【27】(A)string (B)Int (C)integer (D)char28.以下程序段int k=0; while(k=1) k++; while 循环执行的次数是【28】(A)无限次(B)有语法错,不能执行(C)一次也不执行(D)执行1次29.在下面的条件语句中(其中s1和s2表示C语言的语句),只有一个在功能上与其它三个语句不等价,它是【29】(A)if(p) s1; else s2; (B)if(p==0) s1; else s2;(C)if(p!=0) s1; else s2; (D)if(p==0) s2; else s1;30.若int k=10; 执行下列程序后,变量k的正确结果是【30】switch(k){case 9: k+=1;case 10: k+=1;case 11: k+=1;default: k+=1;}(A)10 B)11 (C)12 (D)1331.若数组名作实参而指针变量作形参,函数调用实参传给形参的是【31】(A)数组的长度(B)数组第一个元素的值(C)数组所有元素的值(D)数组第一个元素的地址32.以下错误的描述是【32】(A)break语句不能用于循环语句和switch语句外的任何其他语句(B)在switch语句中使用break语句或continue语句的作用相同(C)在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环(D)在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环33.f or(表达式1; ; 表达式3)可理解为【33】(A)for(表达式1; 0 ; 表达式3) (B)for(表达式1; 1 ; 表达式3)(C)for(表达式1; 表达式1 ; 表达式3) (D)for(表达式1; 表达式3 ; 表达式3)34.设int k; 则语句for(k=0;k=1;k++); 和语句for(k=0;k==1;k++); 执行的次数分别是【34】(A)无限次和0次(B)0次和无限次(C)都是无限次(D)都是0次(A卷)第 4 页共13 页35.有以下程序段:int n=0,p;do{ scanf(“%d”,&p); n++;} while(p!=12345 && n<3);此处do~while循环的结束条件是【35】(A)p值不等于12345并且n的值小于3(B)p值等于12345并且n的值大于等于3(C)p值不等于12345或者n的值小于3(D)p值等于12345或者n的值大于等于336.下列各程序段中,没有构成死循环的是【36】(A)int i=10; (B)int y=1;while(1) for(; y=10;y++);{ i=i+i%10;if(i==10) break;}(C)int k=100; (D)int s=4;do while(--s){ ++k; s--;} while(k>=100);37.以下四个关于循环语句的结论中,只有一个是错误的,它是【37】(A)可以用while语句实现的循环一定可以用for语句实现(B)可以用for语句实现的循环一定可以用while语句实现(C)可以用while语句实现的循环一定可以用do~while语句实现(D)可以用do~while语句实现的循环一定可以用while语句实现38.已知int j,i=1; 则执行j=-i++; 后,i和j的值为【38】(A)1 -1 (B)1 1 (C)2 -1 (D)2 1 39.以下正确的函数定义是【39】(A)double fun(int x,int y) (B)double fun(int x, y) { z=x+y; return z; } {int z; z=x+y; return z; } (C)fun (x, y) (D)double fun(int x, int y) {int x,y; double z; {double z;z=x+y; return z; } z=x+y; return z; }(A卷)第 5 页共13 页40.若x为整型变量,以下定义指针的正确语句是【40】(A)int p=&x; (B)int p=x; (C)int *p=&x; (D)p=x;41.在C语言中,如果下面的变量都是int类型,则输出的结果是【41】sum=a=5; a=sum++ , a++ , ++a;printf("%d\n",a);(A)5 (B)6 (C)7(D)842.以下正确的说法是【42】(A)实参变量与其对应的形参变量各占用独立的存储单元(B)实参变量与其对应的形参变量共占用一个存储单元(C)只有当实参变量与其对应的形参变量同名时才占用相同的存储单元(D)形参变量是虚拟的,不占用存储单元43.若i为整型变量,则以下循环执行次数是【43】for (i=2; i!=0;) printf("%d", i-- );(A)无限次(B)0次(C)2 次(D)1次44.对以下说明语句的正确理解是【44】int a[10]={1,2,3,4};(A)将4个初值依次赋给a[1]至a[4](B)将4个初值依次赋给a[0]至a[3](C)将4个初值依次赋给a[6]至a[9](D)因为数组长度与初值个数不一致,所以此语句不正确45.已知:char str1[20], str2[10]=”books”; 则在程序中能够将字符串“books”赋给数组str1的正确语句是【45】(A)str1=”books”; (B)strcpy(str1,str2);(C)str1=str2; (D)strcpy(str2,str1);46.以下不正确的说法是【46】(A)在不同函数中可以使用相同名字的变量(B)形式参数是局部变量(C)在函数内定义的变量只在本函数范围内有定义(D)在函数内的复合语句中定义的变量在本函数范围内有定义47.已知一个函数的定义如下:double fun(int x, double y){ ……}则该函数正确的函数原型声明为【47】(A卷)第 6 页共13 页(A 卷) 第 7 页 共 13 页(A )double fun(int x; double y) ; (B )fun(int x,double y); (C )double fun(int, double);(D )fun(x,y);48. 若已定义:int a[10],*p=a; 并在以后的语句中未改变p 的值,不能表示a[1] 地址的表达式是【48】 (A )p+1(B )a+1(C )a++(D )++p49. 要在C 中求)30sin( 的值,则可以调用库函数,格式为【49】 (A )sin(3.14159/6) (B )sin(30) (C )sin(double(30))(D )sin(30.0)50. 在一个源文件中定义的外部变量的作用域【50】 (A )本文件的全部范围(B )本程序的全部范围(C )从定义该变量的位置开始至本文件结束 (D )本函数的全部范围 51. 已知函数fun 的定义为:void f(){ …… }则函数定义中void 的含义是【51】 (A )执行函数f 后,函数没有返回值 (B )执行函数f 后,函数不再返回(C )执行函数f 后,可以返回任意类型的返回值 (D )执行函数f 后,函数返回void 类型的值52. 若有定义:int a[10]; 则对数组a 中元素的正确引用是【52】 (A )a[10](B )a[4.8](C )a(5)(D )*(a+2)53. 以下不正确的定义语句是【53】 (A )double x[5]={2.0,4.0,6.0,8.0,10.0}; (B )int y[5]={0,1,3,5,7,9}; (C )char c1[ ]={‘1’,’2’,’3’,’4’,’5’};(D )char c2[ ]={‘\x10’,’\xa ’,’\x8’};54. 有两个字符数组a,b ,则以下正确的输入语句是【54】 (A )gets(a,b);(B )scanf(“%s,%s ”,a,b); (C )scanf(“%s,%s ”,&a,&b);(D )gets(&a); gets(&b);55. 已知:char *str1=”abcde ”, *str2=”xyz ”; 则执行语句:printf(“%d ”,strlen(strcpy(str1,str2)));输出结果是【55】(A )9(B )3(C )5(D )856. 调用strlen(“abcd\0ef\0g ”)的返回值为【56】 (A )4(B )5(C )8(D )957. 在C 语言中进行乘方运算,例如求a 的3次方,可以使用【57】(A)a^3 (B)a**3 (C)pow(a,3)(D)power(a,3)58.以下对一维整型数组a的正确说明是【58】(A)int a(10); (B)int n=10,a[n]; (C)int n; (D)#define SIZE 10scanf(“%d”,&n);int a[SIZE];int a[n];59.已知:int i=0,j=1,*p=&i,*q=&j; 其中错误的语句是【59】(A)i=*&j; (B)p=&*&i; (C)j=*p++; (D)i=*&q;60.以下关于结构体与共用体的说法,其中正确的是【60】(A)共用体每个成员分别占有自己的内存单元(B)结构体变量所占的内存长度等于最长的成员的长度,共用体变量所占内存长度是各成员占的内存长度之和(C)共用体同一个内存段可以存放几种不同类型的成员,但在某一时刻只能存放一个成员(D)结构体类型可以出现在共用体类型的定义中,但共用体不能出现在结构体类型定义之中61.以下程序的作用是将给出的字符按其格式读入数组ss中,然后输出行列号之和为3的数组元素。

《C语言程序设计基础》--试卷A及参考答案

《C语言程序设计基础》--试卷A及参考答案

《C语言程序设计基础》--试卷A及参考答案《c语言程序设计基础》试卷 (A卷)考试时间:90分钟闭卷任课老师:班级:学号:成绩:(每小题2分,共30分)、由C++源文件编译生成的目标文件的缺省)A、cppB、exeC、obj 、lik、下列中,不是C++合法的标识符()A、2mnB、m123C、kk 、a_1、C++中,基本数据类型不包括()、int B、float C、char 、class、x和y均为bool量,则x| |y为真的条件)、它们均为真 B、其中一个为真 C、《C语言程序设计基础》第 2 页共 6 页它们均为假 D、其中一个为假5、C++中,一个字符型数据在内存中占()字节。

A、4B、2C、1D、86、字符串常量”hello”的长度是()A、5B、6C、7D、87、以下语句,int i=2,j=2,m,n;m=i++;n=++j;则m,n,i,j的值分别为()A、2,3,2,2B、2,3,3,3C、2,2,3,3 D、3,3,2,28、假定a为一个整型数组名,则元素a[4]的字节地址为()A、a+4B、a+8C、a+16D、a+329、 x>0 || y==5的相反表达式为()。

A、 x<=0 || y!=5B、 x<=0 && y!=5C、 x>0 || y!=5D、 x>0 && y==5《C语言程序设计基础》第 3 页共 6 页10、在下面的函数声明中,存在着语法错误的是()A、void BC(int a , int)B、void BD(int , int)C、void BE(int , int=5)D、int BF(int x ; int y)11、循环体至少被执行一次的语句为()。

A、for循环B、while循环C、do循环 D、任一种循环12、已知一函数中有下列变量定义,其中属于静态变量的是()A、int a=5;B、staticdouble b;C、register char c;D、auto shortd;13、do语句能够改写为()语句。

C语言程序设计(A卷)

C语言程序设计(A卷)

第 1 页 共 5 页一、单选题(每小题1分,共30 分)1. 若变量已正确定义,要求完成求6!的计算,不能完成操作的程序段是 。

A )for(i=1;i<=6;i++) {p=1;p*=i;}B )for(i=1,p=1;i<=6;i++) p*=i;C )i=1;p=1;while(i<=6) {p*=i;i++;}D )i=1;p=1;do {p*=i;i++;} while(i<=6);2. 以下程序的输出结果是 。

main(){ int a=2,b=-1,c=2; if(a<b) if(b<0) c++; else c++; else c--; printf("%d",c);}A )1B )4C )2D )3 3. 以下程序的输出结果是 。

main(){int x=0,a=0,b=0; switch(x) {case 0:b++; case 1:a++;break; case 2:a++;b++;}printf("a=%d,b=%d",a,b); }A )a=2,b=1B )a=1,b=1C )a=1,b=0D )a=2,b=2 4. 以下程序的输出结果是 。

main(){ int x=10,y=10,i;for(i=0;x>8;y=++i) printf("%d %d ",x--,y); }A )10 1 9 2B )9 8 7 6C )10 10 9 1D )10 9 9 0 5. 以下程序的输出结果是 。

main(){int s=0,i,x[][3]={1,2,3,4,5,6,7,8}; for(i=0;i<3;i++) s=s+x[i][2-i]; printf("%d",s); }A )6B )15C )36D )0 6.下面程序段执行后,a 的值是______。

c语言程序设计试卷及答案(A)

c语言程序设计试卷及答案(A)

《C语言程序设计》2013至2014 学年度第 1 学期期末(A)卷(考生注意:考试时间为120分钟。

答案须写在答题纸上,并注明题号,考试结束后将试卷连同答题纸一齐交)一、单项选择题(每小题2分,共40分)1.在一个C语言程序中,有并且只能有一个( )函数。

A. main函数B.自定义函数C.外部函数D.内部函数2.一个C语言程序,总是从()函数开始执行。

A. main函数B.自定义函数C.外部函数D.内部函数3.下列标识符中,不能用作变量名的是( )。

A. _1234_B. _1_2C. int_2_D. 2_int_4.下列字符常量不合法的是( )。

A. ‘2’B. ‘\t’C. ‘ab’D. ‘ \n’5.执行以下语句后的输出结果为( )。

int x; float y; y=3.6; x=(int)y+10; printf(“x=%d,y=%f”,x,y);A. x=13.6,y=3.600000B. x=13,y=3.600000C. x=13,y=3D. x=13,y=3.66.以下哪种变量类型在C语言中不存在( )。

A. 整型变量B.实型变量C. 字符串变量D.字符变量7.设m=10,n=4,则赋值运算m%=n+1执行后m的值是( )。

A. 1B. 2C. 3D. 08.下面语句执行后输出结果为( )。

int x=10,y=3,z; printf(“%d\n”,z=(x%y,x/y));}A. 0B.1C. 3D. 49. 下面语句执行后输出结果为( )。

int x=10,y=10,z=10; printf(“%d,%d,%d ”,x++,--y,++z);}A. 10,10,10B. 10,9,11C. 9,10,11D. 11,10,910.以下选项中不是C语句的是( )。

A. {int i; i++; printf("%d\n", i); }B. ;C. a=5,c=10D. { ; }11.以下程序的输出结果是( )。

C程序设计期末考试A(穆德恒)

C程序设计期末考试A(穆德恒)

char ch; int k; ch='a'; k=12; printf("%c,%d,",ch,ch,k); printf("k=%d\n",k); 已知字符 a的 ASCll十进制代码为97,则执行上述程序段后输出结果是 ( ) A.因变量类型与格式描述符的类型不匹配输出无定值 B.输出项与格式描述符个数不符,输出为零值或不定值 C.a,97,12k=12 D.a,97,k=12 9.已知字母 A 的ASCⅡ代码值为 65,若变量 kk为 char 型,以下不 能正确判断出 kk中的值为大写字母的表达式是( ) A.kk>='A'&&kk<='Z' B.!(kk>='A'‖kk<='Z') C.(kk+32)>='a'&&(kk+32)<='z' D.isalpha(kk)&&(kk<91) 10.当变量c 的值不为2、4、6 时,值也为“真”的表达式是( ) A.(c= =2)‖(c= =4)‖(c= =6) B. (c>=2&&c<=6)‖(c!=3)‖(c!=5) C.(c>=2&&c<=6)&&!(c%2) D.(c>=2&&c<=6)&&(c%2!=1) 11.若变量已正确定义,有以下程序段 int a=3,b=5,c=7; if(a>b) a=b; c=a; if(c!=a) c=b; printf("%d,%d,%d\n",a,b,c); 其输出结果是( ) A.程序段有语法错 B.3,5,3 C.3,5,5 D.3, 5,7 12.有以下程序 #include <stdio.h> main() { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0: a++; break; case 1: b++; break; } case 2: a++; b++; break; case 3: a++; b++; } printf(“a=%d,b=%d\n”,a,b); } 程序的运行结果是 ( )

《C程序设计》期末试卷A

《C程序设计》期末试卷A

《C程序设计》期末试卷A《C程序设计》期末试卷A一、选择题(每题2分共30分)1.C语言中,int类型数据占2个字节,则long类型数据占()A、1个字节B、2 个字节C、3个字节D、4个字节2.以下说法中正确的是()A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须放在程序的开始部分3.下面的程序会()main(){ int x=3,y=0,z=0;if(x=y+z) printf("****");else printf("####");}A、有语法错误不能通过编译B、输出****C、可以通过编译,但不能通过连接,因而不能运行D、输出####4.以下程序的输出结果是()main(){ int x=10,y=10,i;for(i=0;x>8;y=++i)printf("%d %d",x--,y);}A、10 1 9 2B、9 8 7 6C、10 9 9 0D、10 10 9 15.以下程序的输出结果是main(){ int x=10,y=10,i;for(i=0;x>8;y=++i)printf("%d %d",x--,y);}A、 10 1 9 2B、 9 8 7 6C、10 9 9 0D、10 10 9 16.有如下程序main(){ int a[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("%d",s);}该程序的输出结果是A、18B、19C、20D、217.执行下列程序时输入123<空格>456<空格>789<回车>,输出结果是( )。

《C语言程序设计》(3学分)试卷A

《C语言程序设计》(3学分)试卷A

说明:请考生将答案写在“武汉大学答题纸”上并标明题号,否则不得分。

试卷中C语言程序的开发环境是VC6。

一、选择题(共20小题,每小题2分,共40分)1.以下正确的C语言自定义标识符是______。

A)_1aB)2a_C)doD)a.122.温度华氏和摄氏的关系是:C= 达式是____。

59(F-32)。

已知:floatC,F;由华氏求摄氏的正确计算的表A)C=5/9(F-32)B)C=5*(F-32)/9C)C=5/9*(F-32)D)三个表达式都正确3.设floatx,由键盘输入:12.45,能正确读入数据的输入语句是_________。

A)scanf("%5.2f",&x)B)scanf("%d",&x);C)scanf("%f",&x);D)scanf("%f",x);4.一个C程序的执行是从()A)main()函数开始,直到main()函数结束B)第一个函数开始,直到最后一个函数结束C)第一个语句开始,直到最后一个语句结束D)main()函数开始,直到最后一个函数结束5.判断char型变量c1是否为数字的正确表达式为________。

A)0<=c1<=9B)c1>=0&&c1<=9C),0?<=c1<=?9?D)c1>='0'&&c1<='9'6.switch(表达式)语句中的“表达式”,允许的类型是_________。

A)float,intB)float,int,charC)int,charD)char,double7.设inti,j,x=0;for(i=5;i;i--)for(j=0;j<4;j++)x++;则循环体结束后,x的值为________。

A)5B)20C)25D)死循环8.设x和y均为int型变量,则执行下面的循环后,y值为_________。

C语言程序设计试卷(含答案)

C语言程序设计试卷(含答案)

.2015年春季学期《C 语言程序设计》试卷A一.选择(每道小题2分,合计30分)1、以下选项中合法的标识符是( )。

A)1_1B)1-1C)_11D)1_ _2、若函数中有定义语句:int k;,则( )。

A)系统将自动给k 赋初值0 B)这时k 中的值无定义 C)系统将自动给k 赋初值-1D)这时k 中无任何值3、以下选项中,能用作数据常量的是( ) 。

A)o115B)0118C)1.5e1.5D)115L4、设有定义:int x=2;,以下表达式中,值不为6的是( )。

A)x*=x+1 B)X++,2*x C)x*=(1+x)D)2*x,x+=25、程序段:int x=12; double y=3.141593;printf("%d%8.6f",x,y);的输出结果是( )。

A)123.141593 B)12 3.141593C)12,3.141593D)123.14159306、把2进制数10000111101转化为十进制数为( )。

A)1083B)1084 C)1085D)10867、以下是if 语句的基本形式: if(表达式) 语句 其中"表达式"( )。

A)必须是逻辑表达式B)必须是关系表达式 C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式8、有以下程序#include <stdio.h> main(){ int x; scanf("%d",&x);if(x<=3); elseif(x!=10) printf("%d\n",x);}程序运行时,输入的值在哪个范围才会有输出结果( )。

A)不等于10的整数 B)大于3且不等于10的整数 C)大于3或等于10的整数D)小于3的整数9、有以下程序#include <stdio.h> main(){ int a=1,b=2,c=3,d=0; if (a==1 && b++==2)if (b!=2||c--!=3) printf("%d,%d,%d\n",a,b,c);else printf("%d,%d,%d\n",a,b,c); else printf("%d,%d,%d\n",a,b,c);} 程序运行后输出结果是( )。

一学期《C程序设计》试卷A(级)含答案

一学期《C程序设计》试卷A(级)含答案
C) p=getchar()。D) p=”string”。
16.阅读以下程序
#include <stdio.h>
voidmain()
{intcase。float printF。
printf(“请输入2个数:”)。
scanf(“%d%f”, &case, &printF)。
printf(“%d %f”, case, printF)。
C) struct student{ char name[20]。char sex。int age。} s1。
D) struct { char name[20]。char sex。int age。} s1。
15.设有定义:char *p。以下选项中能够使字符型指针p正确指向一个字符串的是:【 】
A) char str[]=”China”。p=str[0]。B) scanf(“%s”, p)。
19.以下数组定义中错误的是【 】
A)int x[][3]={0};
B)int x[2][3]={{l,2},{3,4},{5,6}};
C)int x[][3]={{l,2,3},{4,5,6}};
D)int x[2][3]={l,2,3,4,5,6};
20.定义数组int a[10],若整型类型变量长度是2个字节,数组a的首地址是0,则&a[5]的值是:【 】
C)break语句只能用在循环体内和switch语句体内
D)在循环体内使用break语句和continue语句的作用相同
12.在C语言中,函数返回值的类型最终取决于【 】
A)函数定义时在函数首部所说明的函数类型
B)return语句中表达式值的类型
C)调用函数时主函数所传递的实参类型

《C语言程序设计》2018-2019学年第二学期期末考试卷A

《C语言程序设计》2018-2019学年第二学期期末考试卷A

专业班级:学号:姓名:一、选择题 (用铅笔把选中的方格涂黑 40×1=40分)1A B C D2A B C D3A B C D4A B C D 5A B C D6A B C D7A B C D8A B C D 9A B C D10A B C D11A B C D12A B C D 13A B C D14A B C D15A B C D16A B C D 17A B C D18A B C D19A B C D20A B C D 21A B C D22A B C D23A B C D24A B C D 25A B C D26A B C D27A B C D28A B C D 29A B C D30A B C D31A B C D32A B C D 33A B C D34A B C D35A B C D36A B C D 37A B C D38A B C D39A B C D40A B C D二、填空题(25×2=50分)(1) (2)(3) (4)(5) (6)(7) (8)(9) (10)(11) (12)(13) (14)(15) (16)(17)(18)(19)(20)(21)(22)(23)(24)(25)三、编程题(10分)求10个数的最大公约数和最小公倍数(定义两个函数,求两个数的最大公约数和两个数的最小公倍数)一、选择题 ( 40×1分=40分)1.以下叙述中正确的是 (1 )D 。

A.在编译时可以发现注释中的拼写错误B.C语言程序的每一行只能写一条语句C.main( ){}必须位于程序的开始D.C语言程序可以由一个或多个函数组成2.以下选项中不能用作变量名的是 (2 )B 。

A._float B.switch C.sum D._1233.已知sizeof(int)的值为2,为将10!的值存储到变量f中(10!=3628800),变量f的类型应声明为( 3)A。

2008-2009第二学期《C程序设计》试卷A(08级09.4,含答案)

2008-2009第二学期《C程序设计》试卷A(08级09.4,含答案)

一、选择题(每题1分,共20分)1.设 int b=2;表达式b/(b*2)的值是()。

A. 0B. 0.5C. 0.500000D. 0.000002.下列标识符中不合法的标识符的是()。

A. hot_doB. cat1C. _priD. 2ab3.以下程序的输出结果是()。

void main(){int k=17;printf("%d,%o,%x \n",k,k,k);}A. 17,021,0x11B. 17,17,17C. 17,0x11,021D. 17,21,114.设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为()。

A.4 B.16 C.32 D.525.下述程序段中,while循环执行次数是( )。

int k=0;while(k=1) k++;A. 无限次B. 有语法错误,不能执行C. 一次也不执行D. 执行一次6. 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为()。

A. a < > 0B. !aC. a=0D. a!=07.执行下述语句后,*(p+1)的值是( )。

char s[]= “ab”,*p;p=s;A.‘b’B. OC. 不定值D. 非法引用128.有以下语句:int b;char c[10];,则正确的输入语句是( )。

A. scanf("%d%s",&b,&c);B. scanf("%d%s",&b,c);C. scanf("%d%s",b,c);D. scanf("%d%s",b,&c);9.能正确表示a 和b 同时为正或同时为负的逻辑表达式是( )。

A. (a>=0‖b>=0)&&(a<0‖b<0)B. (a>=0&&b>=0)&&(a<0&&b<0)C. (a+b>0)&&(a+b<=0)D. a*b>010.C 语言中的逻辑运算结果,用( )表示逻辑“真”值。

C语言程序设计试题A(附答案)NEW

C语言程序设计试题A(附答案)NEW

《C语言程序设计》模拟试卷A一、单项选择题(每题2分,共20分)1、下列有关C语言的叙述中错误的是()。

A) C语句必须以分号结束B) 任何一个C程序中有且只有一个主函数C) 复合语句在语法上可被看作一条语句D) C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是()。

A) MAIN B) _HJ C) 2ong D) LINE13、以下能正确定义一维数组的是()。

A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”;C) char a[ ]=”012345”; D) char a[5]={0,1,2,3,4,5};4、执行下列程序段后输出的结果是()。

x = 9;while (x > 7){ printf(“*”); x- -; }A) **** B) *** C) ** D) *5、设char str1[10] = “ABCDE”, str2[10] = “xyz”;则执行语句printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是()A) 9 B) 8 C) 5 D) 36、若用数组名作为函数调用的实参,则传递给形参的是()A) 数组的首地址 B) 数组第一个元素的值C) 数组中全部元素的值 D) 数组元素的个数7、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为()A)void B)double C)int D)char8、下面不能正确进行字符串赋值操作的语句是( )A) char s[5]={"ABCD"}; B) char s[5]; s="ABCD";C) char *s;s="ABCDEF"; D) char *s="ABCD";9、设有说明int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为3的是 ( )A)++p B)++(*p) C) *(++p) D) *(p+=2)10、下面程序的输出结果是()int m=13;int fun( int x, int y){ int m=3;return( x*y-m); }main( ){ int a=7,b=5;printf(“%d\n”, fun(a,b)/m); }A) 1 B) 2 C) 3 D) 10二、填空题。

2021-2021第一学期《C语言程序设计》试卷A(2021年11月)

2021-2021第一学期《C语言程序设计》试卷A(2021年11月)

一、选择题(1-10每题1分,11-30每题1.5分,共40分)1. 以下选项中,可以作为用户标识符的是A) void B) 8_8 C) _a_0 D) a*b2. 假设有定义:float a=22;int i=0,k=18; 那么不符合C语言规定的赋值语句是A〕k=i++; B〕i =〔i*k〕>=〔i-k〕; C〕i=a%11; D〕k=!a;3. 假设执行了语句:float x=1008; int a=15; 那么表达式(int)(x+y)%7/17的值为A) 23 B) 1 C) 0 D) 无法确定4. 假设有定义语句:int a=1;double b=3.14;,那么表达式‘X’+a+b的结果的类型是A)char B)int C)double D)float5. 如有定义语句:int x=12,y=8,z;,在其后执行语句z=0.9+x/y,那么z的值为A)1.9 B)1 C)2 D)2.46. 以下是if语句的一种形式:if(表达式) 语句其中关于“表达式〞的说明正确的选项是:A) 必须是逻辑表达式 B) 必须是关系表达式C) 必须是逻辑表达式或关系表达式 D) 可以是任意合法的表达式7. 假设有定义:int a,b;,通过语句scanf(“%d;%d〞,&a,&b);,能把整数3赋给变量a,5赋给变量b的输入数据是A)3 5 B)3,5 C)3;5 D)358. 假设有定义语句:int k1=10,k2=20;,执行表达式〔k1=k1>k2〕&&(k2=k2>k1)后,k1和k2的值分别为A)0和1 B)0和20 C)10和1 D)10和209. 以下语句中正确的选项是:A) char str[10]; str = “Hello〞; B) char *str; str = “Hello〞;C) char str[10]; str = {“Hello〞}; D) char *str; str = {“Hello〞};10. 设有定义 int a[10], *p=a; 以下能够代表数组元素a[4]的是:A) a+4 B) *(p+4) C) *a+4 D) *p + 411. 有以下程序#include <stdio.h>int main(){int a=1,b=0;if(--a)b++;else if(a==0)b+=2;elseb+=3;p rintf(“%d\n〞,b);return 0;}程序运行后的输出结果是A)0 B)1 C)2 D)312. 以下条件语句中输出结果与其他语句不同的是A)if(a) printf(“%d\n〞,x); else printf(“%d\n〞,y);B)if(a==0) printf(“%d\n〞,y); else printf(“%d\n〞,x);C)if(a!=0) printf(“%d\n〞,x); else printf(“%d\n〞,y);D)if(a==0) printf(“%d\n〞,x); else printf(“%d\n〞,y);13. 有以下程序:#include <stdio.h>void main(){ int a=7;while(a--);p rintf(“%d\n〞,a);}程序运行后的输出结果是A) -1 B)0 C)1 D)714. 以下不能输出字符A的语句是〔注:字符A的ASCII码值为65,字符a的ASCII码值为97〕A)printf(“%c\n〞,’a’-32); B)printf(“%d\n〞,’A’);C)printf(“%c\n〞,65); D)printf(“%c\n〞,’B’-1);15. 有以下程序〔注:字符a的ASCII码值为97〕#include <stdio.h>void main(){ char *s={“abc〞};do{printf(“%d〞,*s%10);++s;}while(*s);}程序运行后的输出结果是A)abc B)789 C)7890 D)97989816. 假设有定义语句:double a,*p=&a;以下表达中错误的选项是A)定义语句中的*号是一个地址运算符B)定义语句中的*号是一个说明符C)定义语句中的p只能存放double类型变量的地址D)定义语句中,*p=&a把变量a的地址作为初值赋给指针变量p17. 有以下程序:#include <stdio.h>double f(double x);void main(){ double a=0; int i;for(i=0; i<30; i+=10) a+=f((double)i);p rintf(“%5.0f\n〞,a);}double f(double x){return x*x+1;}程序运行后的输出结果是A)503 B)401 C)500 D)140418. 假设定义语句:int year=2021,*p=&year;,以下不能使变量year中的值增至2021的语句是A)*p+=1; B)(*p)++; C)++(*p); D)*p++;19. 以下定义数组的语句中错误的选项是A)int num[]={1,2,3,4,5,6};B)int num[][3]={{1,2},3,4,5,6};C)int num[2][4]={{1,2},{3,4},{5,6}};D)int num[][4]={1,2,3,4,5,6};20. 有以下程序#include <stdio.h>void fun(int *p){printf(“%d\n〞,p[5]);}main(){int a[10]={1,2,3,4,5,6,7,8,9,10};fun(&a[3]);}程序运行后的输出结果是A)5 B)6 C)8 D)921.有以下函数int fun(char *x,char *y){int n=0;while((*x==*y)&&*x!=’\0’){x++;y++;n++;}return n;}函数的功能是A)查找x和y所指字符串中是否有‘\0‘B)统计x和y所指字符串中最前面连续相同的字符个数C)将y所指字符串赋给x所指存储空间D)统计x和y所指字符串中相同的字符个数22. 数学上的式子 1<x≤10怎么用C语言的表达式来表示:A) 1<x≤10 B) 1<x<=10 C)x>1 && x<=10 D) 以上都不对23. 假设有定义语句:char *s1=〞OK〞;*s2=〞ok〞;,以下选项中,能够输出“OK〞的语句是A)if(strcmp(s1,s2)==0) puts(s1);B)if(strcmp(s1,s2)!=0) puts(s2);C)if(strcmp(s1,s2)==1) puts(s1);D)if(strcmp(s1,s2)!=0) puts(s1);24. 以下程序的主函数中调用了在其前面定义的fun函数#include<stdio.h>void main(){double a[15],k;k=fun(a);}那么以下选项中错误的fun函数首部是A)double fun(double a[15])B)double fun(double *a)C)double fun(double a[])D)double fun(double a)25. 有以下程序:#include<stdio.h>int f(int m){ static int n=0;n+=m;return n;}void main(){ int n=0;p rintf(“%d,〞,f(++n));p rintf(“%d\n〞,f(n++));}程序运行后的输出结果是A)1,2 B)1,1 C) 2,3 D) 3,326. 假设有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是A)a=(b=4)=3; B)a=b=c+1;C)a=(b=4)+c; D)a=1+(b=c=4);27. 有以下程序#includevoid main(){ int s;scanf("%d",&s);while(s>0){ switch(s){ case1:printf("%d",s+5);case2:printf("%d",s+4); break;case3:printf("%d",s+3);default:printf("%d",s+1);break;}scanf("%d",&s);}}运行时,假设输入1 2 3 4 5 0<回车>,那么输出结果是A)6566456 B)66656 C)66666 D)666665628. 有以下程序#include#define S(x) 4*(x)*x+1void main(){ int k=5,j=2;printf("%d\n",S(k+j));}程序运行后的输出结果是A)197 B)143 C)33 D)2829. 有如下程序,其中k的初始值为八进制数#include <stdio.h>void main(){ int k=011;k++;printf(“%d\n〞, k);}那么程序运行后的输出结果是:A) 12 B) 11 C) 10 D) 930. 设有定义:struct {char mark[12];int num1;double num2;} t1,t2;,假设变量均已正确赋初值,那么以下语句中错误的选项是A)t1=t2; B)t2.num1=t1.num1;C)t2.mark=t1.mark; D)t2.num2=t1.num2;二、填空题〔【1】-【10】每空1分,【11】-【20】每空2分,共30分〕1、以下程序实现两个字符串的连接。

C程序设计试卷A卷

C程序设计试卷A卷

杭州师范大学信息科学与工程学院2007-2008学年第1学期期末考试《C程序设计》试卷(A)班级:学号:姓名一、根据C程序设计的有关概念,判断以下表述的正确性。

对的在括号内填上(×)1.在C源程序中将语句“if(x==5) y++;”误写作“if(x=5) y++;”,将导致编译错误。

(√)2.设变量定义为 char s[]= ”hello”,则数组s 中有6个元素。

(×)3.若表达式sizeof(int)的值为2,则int类型数据可以表示的最大整数为 216-1。

(×)4.C的double类型数据可以精确表示任何实数。

(×)5.函数原型为“void sort(float a[],int n)”,调用该函数时,形参数组a被创建,实参数组各元素的值被复制到a数组各元素中。

(×)6.'B'和”B”在内存中的表示没有区别。

(×)7.a是一维数组名,数组元素a[1]还可以写作“*(a++)”。

(√)8.若文件打开方式为”w”而该文件已经存在,则文件中原有数据被清空。

(×)9.p为指向字符串的指针变量,*p表示所指的字符串。

(√)10.表达式(15>>2)&2 的值是2。

二、单项选择题(最佳选择)(共20分,每小题2分)1.C语言规定函数的返回值的类型是由( D )。

A.return语句的表达式所决定B.调用该函数时的主调函数返回值类型所决定C.调用该函数时系统临时决定D.在定义该函数时所指定的函数返回值类型所决定2.C语言在判断逻辑值时,以( C )作为逻辑“真”值。

A.true B.t 或 y C.非0值D.数值03.设有定义:char s[12]={”string”};则printf(”%d”,strlen(s));的输出是( A )。

A.6 B.7 C.11 D.124.设ch是char型变量,其值为’A’,则表达式:ch = (ch>=’A’ && ch<=’Z’)?(ch+32):ch 的值是( B )。

C语言程序设计(A卷)

C语言程序设计(A卷)

**学院2019—2020学年度第一学期期末考核试卷课程名称: C 语言程序设计 考核类型: 考查 考核形式: 闭卷学生所在院系: 班 级: 试 卷: A1.未指定存储类别的变量,其隐含的存储类别为( )。

A. autoB. staticC. externD. register 2. 以下选项中不合法的变量名称是( )。

A .abB .fileC .mainD .printf 3. 下面合法的C 语言字符常量是( )。

A. '\t'B. "A"C. 65D. A 4. 字符(char)型数据在微机内存中的存储形式是( )。

A . 反码B . 补码C . EBCDIC 码D . ASCII 码 5. 下列字符数组初始化语句中,不正确的是( )。

A .char c[]='goodmorning';B .char e[20]="goodmorning":C .char c[]={'a','b','c','d'};D .char c[]={"ffgoodmorning"}; 6. 表达式: 10!=9的值是 ( )。

A. trueB. 非零值C. 0D. 1 7. 在下列选项中,不正确的赋值语句是 ( )。

A. ++t;B. n1=(n2=(n3=0));C. k=i=j;D. a=b+c=1; 8. 为表示关系x ≥y ≥z,应使用C 语言表达式( )。

A. (x>=y)&&(y>=z) B. (x>=y)AND(y>=z) C. (x>=y>=z) D. (x>=y) & (y>=z)一、选择题………………………………(每小题2分,共30分)9.下面程序的输出的是()。

#include<stdio.h>void main(){int x=10,y=3;printf("%d\n",y=x/y);}A. 0B. 1C. 3D. 不确定的值10.执行下面程序中的输出语句后,输出结果是()。

c语言程序设计期末考试试卷(A)

c语言程序设计期末考试试卷(A)
A、7B、8 C、6 D、2
4、表达式18/4*sqrt(4.0)/8值的数据类型为。
A)、int B)、float C)、double D)、不确定
5、若有以下定义,则能使值为3的表达式是D。
Int k=7,X=12;
A、X%=(k%=5)B、X%=(k-k%5)
C、X%=k-k%5 D、(X%=k)-(k%=5)
t=((t=(a<b)?a:b)<c)? t:c;
s=a+b+c-u-t; a=u;
b=s; c=t; return s;
}
运行时输入: 5 –7 3,输出结果:
4、#include <stdio.h>
#include<stdlib.h>
#defineNEW(struct info *)malloc(sizeof(struct info))
三、程序阅读题(每题5分共30分)
1.#include <stdio.h>
void main( )
{ int k=0;
char c='A';
do {
switch (c++)
{ case 'A': k++; break;
case 'B': k--;
case 'C': k+=2; break;
case 'D': k=k%2; break;
B、aa是指针变量,它指向含有两个数组元素的字符型一维数组
C、aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D、aa数组的两个元素中各自存放了字符'a'和'A'的地址

C语言程序设计A卷(答案)

C语言程序设计A卷(答案)

贵州大学2010-2011学年第二学期考试试卷A(答案)C语言程序设计注意事项:1.请考生按要求在试卷装订线内填写姓名、学号和年级专业。

2.请仔细阅读各种题目的回答要求,在规定的位置填写答案。

3.不要在试卷上乱写乱画,不要在装订线内填写无关的内容。

4.满分100分,考试时间为120分钟。

一.单项选择题(本大题共20小题,每小题1分,共20分)1.以下描述中不属于C语言特点的是(B )。

A.预算符丰富B.不允许直接访问物理地址C.语法限制不太严格D.是完全模块化和结构化语言2.在C语言中,回车符是(A )。

A.\n B.\t C.\f D.\b3.下列类型不属于基本类型的是(B )。

A.整形B.指针类型C.浮点型D.空类型4.C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符(C )。

A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母,数字和下划线中任意字符5.下列数据中,不合法的C语言实型数据的是(C )。

A.0.123 B.123e3 C.2.1e3.5 D.789.0 6.下列二进制数据中,-10的补码是( D )。

A.1111111111111001 B.1111111111111100 C.1111111111111010 D.11111111111101107.若变量已正确定义并赋值,以下符合C语言语法的表达式是(B )。

A.a:=b+1 B.a=b=c+2 C.int 18.5 D.a=c+7=c + b 8.以下说法不正确的是(B )。

A.实参可以是常量、变量、表达式B.形参可以是常量、变量、表达式C.实参可以为任意类型D.形参应与对应的实参一致9.下面的运算符中,优先级最高的运算符是( C )。

A.<= B.= C.% D.&&10.初始化i=2,表达式(++i)*3+(i++)的值等于(B )A.11 B.12 C.13 D.1411.以下对二维数组a的正确说明是(C )。

C语言程序设计_A卷

C语言程序设计_A卷

第 4 页 共8 页
线


4、以下程序功能是:通过定义学生结构体变量,存储了学生的学号、姓名和 3 门课的成绩。函数 fun 的功能是将形参 a 所指的结构体变量中的数据赋给函数 中的结构体变量 b,并修改 b 中的学号和姓名,最后输出修改后的数据。例如: a 所指变量中的学号、姓名、和三门课的成绩依次为:10001、 “ZhangSan” 、 95、80、88,则修改后输出 b 中的数据应为:10002、 “LiSi” 、95、80、88。 #include <stdio.h> #include <string.h> struct student { long sno; char name[10]; float score[3]; }; void fun(struct student *p) { int i; p->sno = 10002; strcpy(p->name, "LiSi"); printf("\nThe data after modified :\n"); printf("\nNo: %ld Name: %s\nScores: ",p->sno, p->name); for (i=0; i<3; i++) printf("%6.2f ", (9) ); printf("\n"); } void main() { struct student s={10001,"ZhangSan", 95, 80, 88};…. int i; printf("\n\nThe original data :\n"); printf("\nNo: %ld Name: %s\nScores: ",s.sno, ); for (i=0; i<3; i++) printf("%6.2f ", (10 ) ); printf("\n"); ( 11) ; }

C语言程序设计期末考试试卷A卷

C语言程序设计期末考试试卷A卷

一、单项选择题〔本大题共20题,每题2 分,共40分〕1、以下不是C语言的特点的是。

A、 C语言简洁、紧凑B、能够编制出功能复杂的程序C、 C语言可以直接对硬件进展操作D、 C语言移植性好2、以下不正确的C语言标识符是A、 ABCB、 abcC、 a_bcD、3、一个C语言程序是由。

A、一个主程序和假设干子程序组成B、函数组成C、假设干过程组成D、假设干子程序组成4、一个算法应该具有“确定性〞等5个特性,对另外4个特性的描述中错误的选项是A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,那么表达式10+‘a’+i*f 值的数据类型为A、 intB、 floatC、 doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是。

A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后〔<CR>表示回车〕,x的值是。

#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、 12345B、 123C、 45D、 3458、假设有以下定义int a,b; float x,那么正确的赋值语句是。

A、 a=1,b=2B、 b++;C、 a=b=5D、 b=int(x);9、以下程序的执行结果是。

#include<stdio.h>{int i=10,j=10;printf("%d,%d\n",++i,j--);}A、 11,10B、 9,10C、 11,9D、 10,910、巳知字母A的ASCII码是65,以下程序的执行结果是。

#include<stdio.h>main(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、 A,YB、 65,65C、 65,90D、 65,8911、以下运算符中优先级最高的是。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

桂林电子科技大学试卷2011-2012 学年第2 学期课号课程名称C程序设计(A卷; 闭卷)适用班级(或年级、专业)11级材料学院各专业考试时间120 分钟班级学号姓名一、(60分)单项选择。

1.在C语言中,数字0Xabc是一个A.八进制数B.十六进制数C.十进制数D.非法数2.设int x=5,y; 则执行y=x<<1; 语句后,y的结果是A.2B.05C.12D.0123.变量的指针,其含义是指该变量的。

A.值B.地址C.名D.一个标志4.执行下列程序段后,x,y和z的值分别是int x=10,y=20,z=30;if(x>y) z=x; x=y; y=z;A.10,20,30B.20,30,30C.20,30,10D.20,30,205.下列程序段的输出是x=3;do { y=x- -;if(!y) {printf(“x”);continue;}printf(“#”);} while(1<=x<=2);A.输出##B.输出##xC.是死循环D.输出x#6.在高级语言中,对文件操作的一般步骤是A.打开文件—操作文件—关闭文件B.操作文件—修改文件—关闭文件C.读写文件—打开文件—关闭文件D.读文件—写文件—关闭文件7.是C语言提供的合法的数据类型关键字的是A.typedefB. FloatC. integerD.Char8.一个C 程序的执行是从A .main( ) 函数开始,直到main( ) 函数结束B .第一个函数开始,直到最后一个结束C .第一个语句开始,直到最后一个语句结束D .main( ) 开始, 直到最后一个函数结束9.下列可用于C语言用户标识符的一组是A. void,return, COMPB. a3_b3, _123,CarC. For, -abc, IF CaseD. 2a, DO, sizeof10. 执行下列程序片段时输出结果是。

int x=13,y=5;printf(“%d”,x%=(y/=2));A.3B.2C.1D.011.下面程序段的运行结果是char *s=“abcde” ; s+=2 ; printf(“%s”,s);A.cdeB.字符‟c‟C.字符‟c‟的地址D.不确定12.设有以下说明语句 struct stu {int a; float b; } stutype; 则下面的叙述不正确的是A. struct是结构体类型的关键字B. struct stu是用户定义的结构体类型C. stutype是用户定义的结构体类型名D. a和b都是结构体成员名13.若有下面的程序段:char s[]="guet";char *p; p=s; 则下列叙述正确的是A. s和p完全相同B. 数组s中的内容和指针变量p中的内容相等C. s数组长度和p所指向的字符串长度相等D. *p与s[0]相等14.下面程序段, 则下面描述中正确的是int k=2;while (k=0) {printf(“%d”,k);k--;}A.while循环执行10次B.循环是无限循环C.循环语句体一次也不执行D.循环体语句执行一次15.下列程序的输出结果是。

main ( ) { int x=023;printf(“%d”,--x); }A.19B.18C.23D.2216.下面是错误的if语句(设int x,a,b;)A.if (a=b) x++;B.if (a=<b) x++;C.if (a-b) x++;D.if ( x ) x++;17.在VC6位编译后,若有定义:struct data { int i ; char ch; double f; } b ; 则结构变量b占用内存的字节数是A.8B.10C.13D.1618.设n=10,i=4, 则赋值运算n%=i+1 执行后,n 的值是A.0B.3C.2D.119.有以下程序main(){int i=1,j=1,k=2; if((j++||k++)&&i++)printf("%d,%d,%d\n",i,j,k);} 执行后输出结果是A. 1,1,2B. 2,2,1C. 2,2,2D. 2,2,320.以下程序的输出结果是main(){int m[3][3]={{1},{2},{3}};int n[3][3]={1,2,3};printf(“%d,”,m[1][0]+n[0][0]);printf(“%d”,m[0][1]+n[1][0]); }A.0,0B.2,3C.3,0D.1,221. 语句(1,2,3,4) 的结果是A. 1B. 2C. 3D. 422.若有以下说明和语句,则p2-p1的值为int a[10], *p1, *p2; p1=a; p2=&a[5];A. 5B. 6C. 4D. 非法23.以下for 循环是for(x=0,y=0;(y!=123)&&(x<4);x++);A. 无限循环B. 循环次数不定C. 执行4 次D. 执行3 次24.下列对字符串的定义中,错误的是A.char str[8]=“computer”;B.char str[]=“computer”;C.char *str=“computer”;D.char str[]={…c‟,…o‟,…m‟,…p‟,…u‟,…t‟,…e‟,…r‟};25.以下程序的输出结果是main(){ 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,26. 以下使i 的运算结果为4 的表达式是A.int i=0,j=0; (i=3,(j++)+i); B. int i=1,j=0; j=i=((i=3)*2);C. int i=0,j=1; (j==1)? (i=1): (i=3);D. int i=1,j=1; i+=j+=2;27.设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d);后n的值为A.1 B.2 C.3 D.428. 以下不能对二维数组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} ;29.若有定义:int a[5];则a数组中首元素的地址可以表示为A.&aB.a+1C.aD.&a[1]30. 以下程序输出结果是。

main ( ){ int x=1,y=0,a=0,b=0;switch(x) {case 1:switch (y) {case 0 : a++ ; break ;case 1 : b++ ; break ;}case 2:a++; b++; break;case 3:a++; b++;}printf(“a=%d,b=%d”,a,b);}A.a=1,b=0B.a=2,b=1C.a=1,b=1D.a=2,b=2二、(20分)根据程序写出执行结果。

(系统自动追加的press any key to continue 不要写!!)1 #include <stdio.h>void main(void){for(int year=2008 ;year<=2012 ;year++)if(year %4 == 0) printf("Olympics Games\n");else printf("No Games\n");if(year==2010) printf("Thrilling Games, Harmonious Asia\n");}2 假设输入的数据和格式如下:2012 6 13(回车)#include <stdio.h>main ( ){ struct date { int year;month;day; } ;struct date today;printf ("Enter today date:");scanf("%d%d%d",&today.year, &today.month, &today.day);printf("Today: %d - %d - %d", today.month, today.day, today.year);}3 #include <stdio.h>int i=10;main(){ int j=1; j=func();printf("j=%d,",j); j=func();printf("j=%d",j);}int func(){ int k=0; k=k+i; i=i+10; return(k); }4. #include <stdio.h>int func (int a,int b){ static int m=0,i=2; i+=m+1; m=i+a+b; return (m);}main ( ){ int k=4,n=1,p1,p2;p1=func(k,n) ; p2=func(k,n) ;printf(“%d,%d\n”,p1,p2) ;}三、(10分)根据提示完成程序。

1、从键盘输入8个整数,求这8个整数的和。

#include <stdio.h>main ( ){ int count,num,total; /* count:计数器,num:输入的整数,total:存放累加和*/ count=0; total=0;while ( (1 ) ) //一直输入直到输入了8个数就结束输入和处理{ count ++;printf ("Enter the No.%d=", count); // 提示输入下一个要处理的数(2) ; //读入下一个数(3 ) ; // 求和}printf("Total=%d\n", total);}2、用指针来逐个反向输出数组中的字符。

(最后输出的结果为gfedcba)#include <stdio.h>void main(){char zifu[]=“abcdefg”; /*待反向输出的字符数组*/char *p=&zifu[6];do {(4) ; //输出p所指向的字符p=p-1;} while ( (5) ); //直到输出到第一个字符结束putchar(…\n‟);}四、(10分)根据要求编写程序实现如下功能。

相关文档
最新文档