模拟试题二
一、选择题(本大题30分,每小题2分)
1.C语言中不能用来表示整常数的进制是。
A)十进制B)十六进制C)八进制D)二进制
2.C语言规定标识符由等字符组成。
A)字母数字下划线B)中划线字母数字
C)字母数字逗号D)字母下划线中划线
3.若有如下定义:int a=2,b=3; float x=3.5,y=2.5; 则表达式:
(float)(a+b)/2+(int)x%(int)y的值是。
A)2.500000 B)3.500000 C)4.500000 D)5.000000
4.以下表达式: 2+?a?+i*f, 其中i为整型变量,f为float型变量,则表达式的最终数据类型为。
A)int B)float C)char D)double
5.有如下语句:
printf(“%s,%5.3s\n”,“COMPUTER”,“COMPUTER”);
执行语句后的最终结果为。
A)COMPUTER ,CMP . B)COMPUTER, CMP.
C)COMPU, CMP. D)COMPU, CMP .
6.以下if语句中语法错误的是。
A)if (a>b)printf(“%f”,a); B)if(a>b)printf(“%f”,a);
else printf(“%f”,b);
C)if(a>b)printf(“%f”,a) D)if(a>b)printf(“%f”,b);
else printf(“%f”,b); else printf(“%f”,a);
7.能表示整数x符合下面两个条件的语句是。
(1)“能被4整除,但不能被100整除”.(2)能被4整除,又能被400整除.
A)(x%4==0&&x%100!=0)||x%400==0
B)(x%4==0||x%100!=0)&&x%400==0
C)(x%4==0&&x%400!=0)||x%100==0
D)(x%100==0||x%4!=0)&&x%400==0
8.循环语句中的for语句,其一般形式如下:
for(表达式1;表达式2;表达式3) 语句
其中表示循环条件的是。
A)表达式1 B)表达式2 C)表达式3 D)语句
9.以数组作为函数的参数时传递的数组的首地址,那么实参数组与形参数组之间的数据传递方式为。
A)地址传递B)单向值传递
C)双向值传递D)随机传递
10.将字符串str2连接到字符串str1中应使用。
A)strcpy(str1,str2) B)strcat(str1,str2)
C)strcmp(str1,str2) D)strcat(str2,str1)
11.若有以下定义:
int a[10],*p=a; 则*(p+3)表示的是。
A)元素a[3]的地址B)元素a[3]的值
C)元素a[4]的地址D)元素a[4]的值
12.若有如下语句: int *p1,*p2; 则其中int所指的是。
A)p1的类型B)*p1和*p2的类型
C)p2的类型D)p1和p2所能指向变量的类型
13.若有如下说明:
int a[10]={1,2,3,4,5,6,7,8,9,10};
char b=?a?,d,e;
则数值为4的表达式是。
A)a[4] B)a[d-b] C)a[…d?-b] D)a[e-b]
14.有如下程序段,在Turbo C环境下运行的结果为。
main( )
{
int i=2,p,k=1; int f(int a,int b)
p=f(i,++k); { int c;
printf(“I=%d,p=%d”,k,p); if(a>b) c=1;
} else if (a==b) c=0;
else c=-1; return(c); }
A)1,0 B)2,0 C)2,-1 D)1,1
15.若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是。
A) EOF B) 0 C) 非零值D) NULL
二、判断题(本大题10分,每小题1分)
1.在每个C语言的程序中都必须并且只能有一个main函数。()
2.在C语言中,整型数据与字符型数据在任何情况下都可以通用。()
3.在C语言程序中,AHP和ahp分别代表两个不同的标识符。()
4. 在if语句中,不可以没有else子句。()
5.C语言规定,简单变量做实参时,与其对应的形参之间是单向的值传递。()
6. for语句作为循环控制语句时,括号内的分号是用来分开表达式的,因此要根据需要加分号。()
7. 数组名也可作为函数参数使用,此时是地址传递。()
8. C程序有三种结构化程序设计方法,分别嵌套结构、选择结构和循环结构。()
9.数组在定义时没有必要指定数组的长度,其长度可以在程序中根据元素个数再决定。()
10.在定义指针型变量时指定的基类型为该指针变量所能指向的变量类型。()
三、程序填空题(本大题12分,每小题2分)
1.输入3个实数a, b, c要求按从大到小的顺序输出三数.
main( )
{ float a,b,c,t;
scanf(“%f,%f,%f”,&a,&b,&c);
if (a
{t=a; (1); b=t;}
if( (2))
{t=a; a=c; c=t;}
if(b { (3)b=c; c=t;} printf(“%f,%f,%f”,a,b,c); } 2.打印以下杨辉三角形.(要求打印出10行) main( ) { int a[10][10],i, j ; 1 for( i=0;i<10;i++) 1 1 { (4)(5)} 1 2 1 for( i=2; i<10; i++ ) - 1 3 3 1 for(j=1; j a[i][j] = (6); ……… for(i=0; i<10; i++) { for( j=1; j<=i; j++) printf(“%5d”,a[i][j]); printf(“\n”);} } 四、写出下面程序的执行结果(本大题24分,每小题4分) 1.main( ) { int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}, b[4][3]; int i, j; for (i=0;i<3;i++ ) for (j=0;j<4;j++ ) b[j][i]=a[i][j]; for ( i=0;i<4;i++ ) { for ( j=0;j<3;j++ ) printf( “%5d”,b[i][j] ); printf( “\n” ); } } 2.main( ) { int a[21],i,j,n=0; for(i=2;i<20;i++ ) a[i]=i; for ( i=2;i<10;i++ ) {if (a[i]==0) continue; for (j=i+1;j<=20;j++) if (a[j]%a[i]==0) a[j]=0;} for ( i=2;i<=20;i++ ) if (a[i]!=0) { printf(“%4d”,a[i]); n=n+1;} if (n%4==0) printf(“\n”); } 3. float fac(int n) { float f ; if(n<0){printf(“n<0,dataerror!”); f=-1; else if (n==0||n==1) f=1; else f=fac(n-1)*n; return(f); } main( ) {int n ; float y ; printf(“input a integer number:”); scanf(“%d”,&n); y=fac(n); printf(“%d!=%5.0f”, n,y); } 假如在运行程序时输入5 ,写出程序的运行情况及最终结果: 。 4.main() {int i=10,j=0; do {j=j+i;i--; while(i>2); printf("%d\n",j); } 5. # include main ( ) { int ﹡p; p=&i; ﹡p=2; p++; ﹡p=5; printf(〞%d,〞, ﹡p); p﹣﹣; printf(〞%d\n 〞, ﹡p); } } 6. #include void f(int c) { int a=0; static int b=0; a++; b++; printf("%d: a=%d, b=%d\n", c, a, b); } void main(void) { int i; for (i=1; i<=3; i++) f( i ); } 五、编程题(本大题24分,第一题7分,第二题8分,第三题9分) 1.已知三角形的三边长,试编程求三角形的面积. 要求:三边长从键盘输入,要考虑数据输入是否正确,能否构成三角形等情况.假设三 边分别为: a, b, c, s=1/2 (a+b+c), area= s(s-a)(s-b)(s-c) 2.有一分数序列: 2/1, 3/2, 5/3, 8/5, 13/8, 21/13, …… 试编程求数列前20项的和. 3. 输入10个学生的成绩,分别用函数实现: (1)求平均成绩; (2)按分数高低进行排序并输出。 模拟试题二答案 一、选择题(本大题30分,每小题2分) 1~5 D A B D B 6~10 C A B A B 11~15 B D C B C 二、判断题(本大题10分,每小题1分) 1.√ 2.× 3.√ 4.× 5.√ 6.× 7.√ 8.× 9.×10.√ 三、程序填空题(本大题12分,每小题2分) 评分标准:全对的满分,半对半错的给一半分,全错的不得分。 1.(1)a=b (2)a (3)t=b 2.(4)a[i][0]=1; (5)a[i][i]=1 (6)a[i-1][j]+a[i-1][j-1] 四、写出下面程序的执行结果(本大题24分,每小题4分) 评分标准:全对的满分,半对半错的给一半分,全错的不得分。 1. 1 5 9 2 6 10 3 7 11 4 8 12 2. 2 3 5 7 11 13 17 19 3.input a integer number:5 5!=120 4.47 5.5,2 6. 1:a=1,b=1 2:a=1,b=2 3:a=1,b=3 五、编程题(本大题24分,第一题7分,第二题8分,第三题9分) 1. #include #include main( ) {float a,b,c,s,s1; printf(“Please enter 3 reals:\n”); scanf(“%f%f%f”,&a,&b,&c); if((a+b)>c&&(a+c)>b&&(b+c)>a) {s=(a+b+c)*0.5; s1=s*(s-a)*(s-b)*(s-c); s=sqrt(s1); printf(“\nArea of the triangle is %f\n”,s); } else printf(“It is not triangle!\n”); } 2. #include main( ) {int m1,n1,n,k,temp; float s=0; printf(“Please Input n:\n”); scanf(“%d”,&n); m1=1; n1=2; for(k=0;k {s+=(float)n1/m1; temp=m1; m1=n1; n1=temp+n1; } printf(“\ns=%f”,s); } 3. 10.main( ) {float average(float b[]); void sort(float b[]); float a[10],j,aver; for(j=0;j<10;j++) scanf(“%f”,&a[j]); aver=average(a); printf(“aver=%f\n”,aver); sort(a); for(j=0;j<10;j++) printf(“%.2f ”,a[j]); } float average(float b[ ]) {int j; float sum=0,aver; for(j=0;j<10;j++) sum=sum+b[i]; aver=sum/10.0; return(aver); } void sort(float b[ ]) {int i,j,max,k; for(i=0;i<10;i++) {max=b[i]; k=i; for(j=i+1;j<10;j++) if(max b[k]=b[i]; b [i]=max;} } 选择题1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.Void C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D. 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=; B.double b=1+; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s) 《C 语言程序设计》期末试卷 一、单项选择题(10x2’=20’) 1、以下叙述正确的是() A )C 语言的源程序不必通过编译就可以直接运行。 B ) C 语言中的每条可执行语句最终都将被转换成二进制的机器指令。 C )C 语言源程序经编译形成的二进制代码可以直接运行。 D )C 语言中的函数不可以单独进行编译。 2、一个C 语言的源程序中() A )必须有一个主函数 B )可能有多个主函数 C )必须有除主函数外其它函数 D )可以没有主函数 3、以下不能定义为用户标识符的是() A )scanf B )Void C )_3com D )int 4、若以下选项中的变量已正确定义,则正确的赋值语句是() A )x1=26.8%3; B )1+2=x2; C )x3=0x12; D )x4=1+2=3; 5、设有定义:floata=2,b=4,h=3;以下C 语言表达式中与代数式h b a *)(2 1 的计算结果不.相符的是() A )(a+b)*h/2 B )(1/2)*(a+b)*h C )(a+b)*h*1/2 D )h/2*(a+b) 6、C 语言中用于结构化程序设计的3种基本结构是() A )顺序结构、选择结构、循环结构 B )if 、switch 、break C )for 、while 、do-while D )if 、for 、continue 7.在while (!x )语句中的!x 与下面条件表达式等价的是() A)x!=0B)x==1C)x!=1D)x==0 8、有以下程序: #include 《C语言程序设计》模拟试卷二 一、填空题。(每空2分,共30分) 1.设有变量说明语句 int x=1,y=2; 则执行下述printf语句的输出结果是______ _____。 printf("%f\n",1.0+x/y); 2.执行下述程序 #include } 4.设n 是整型变量,且已具有某正整数值。根据下述数学式 1 1 14131312121+? ++?+?+n n 求s 的值并输出。 可编写如下之程序段实现之。请填空。 int k; double s,d; s=0.0; d=1.0; K=0; do { s=s+d; ___ _________; d=1.0/(k*(k+1)); } while (k<=n); printf("%f\n",s); 5.执行下述程序的输出结果是____ ____。 #inclued 模拟试题二 一、选择题(本大题30分,每小题2分) 1.C语言中不能用来表示整常数的进制是。 A)十进制B)十六进制C)八进制D)二进制 2.C语言规定标识符由等字符组成。 A)字母数字下划线B)中划线字母数字 C)字母数字逗号D)字母下划线中划线 3.若有如下定义:int a=2,b=3; float x=3.5,y=2.5; 则表达式: (float)(a+b)/2+(int)x%(int)y的值是。 A)2.500000 B)3.500000 C)4.500000 D)5.000000 4.以下表达式: 2+?a?+i*f, 其中i为整型变量,f为float型变量,则表达式的最终数据类型为。 A)int B)float C)char D)double 5.有如下语句: printf(“%s,%5.3s\n”,“COMPUTER”,“COMPUTER”); 执行语句后的最终结果为。 A)COMPUTER ,CMP . B)COMPUTER, CMP. C)COMPU, CMP. D)COMPU, CMP . 6.以下if语句中语法错误的是。 A)if (a>b)printf(“%f”,a); B)if(a>b)printf(“%f”,a); else printf(“%f”,b); C)if(a>b)printf(“%f”,a) D)if(a>b)printf(“%f”,b); else printf(“%f”,b); else printf(“%f”,a); 7.能表示整数x符合下面两个条件的语句是。 (1)“能被4整除,但不能被100整除”.(2)能被4整除,又能被400整除. A)(x%4==0&&x%100!=0)||x%400==0 B)(x%4==0||x%100!=0)&&x%400==0 C)(x%4==0&&x%400!=0)||x%100==0 D)(x%100==0||x%4!=0)&&x%400==0 8.循环语句中的for语句,其一般形式如下: for(表达式1;表达式2;表达式3) 语句 其中表示循环条件的是。 A)表达式1 B)表达式2 C)表达式3 D)语句 9.以数组作为函数的参数时传递的数组的首地址,那么实参数组与形参数组之间的数据传递方式为。 A)地址传递B)单向值传递 C)双向值传递D)随机传递 10.将字符串str2连接到字符串str1中应使用。 A)strcpy(str1,str2) B)strcat(str1,str2) C)strcmp(str1,str2) D)strcat(str2,str1) 11.若有以下定义: int a[10],*p=a; 则*(p+3)表示的是。 A)元素a[3]的地址B)元素a[3]的值 C)元素a[4]的地址D)元素a[4]的值 12.若有如下语句: int *p1,*p2; 则其中int所指的是。 A)p1的类型B)*p1和*p2的类型 C)p2的类型D)p1和p2所能指向变量的类型 《C语言程序设计》期中考试试卷 课程编号:03402513试卷类型:A卷考试形式:笔试考试日期: 注意事项:1.请将试卷最后一页的答题纸撕下,将答案填写在其中;2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交;3.不准携带任何书籍、资料、纸张等。4.草稿纸用试卷的背面。 一、单项选择题(1空1分,共20分) 1、C语言程序的基本结构是(【1】) 。 【1】 A) 函数 B) 语句 C) 字符 D) 程序行 2、一个C程序的执行是(【2】) 。 【2】A) 从本程序的主函数开始,到本程序的主函数结束 B)从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束 3、下列四个叙述中,错误的是(【3】) 。 【3】 A) 一个C源程序必须有且只能有一个主函数 B) 一个C源程序可以含一个或多个子函数 C) 在C源程序中注释说明必须位于语句之后 D) C源程序的基本结构是函数 4、下面不属于C语言保留字的是(【4】) 。 【4】 A) short B) ELSE C) extern D) for 5、下列四个叙述中,正确的是(【5】) 。 【5】 A) 库函数也是C语言本身的组成部分 B) C语言中的输入输出操作是由相应语句完成的 C) 库函数是C编译系统提供的功能函数 D) 标题文件(头文件)可以在程序的函数内部调用 6、下列四组数据类型中,C语言允许的一组是(【6】)。 【6】 A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、双精度型、布尔型 D) 整型、实型、复型 7、在C语言中不同数据类型的的长度是(【7】)。 【7】 A) 固定的 B) 由用户自己定义的 C) 任意的 D) 与机器字长有关 选择题(7分,每小题0.5分) 1.C语言源程序的基本单位是()。 A 过程 B 函数 C 子程序 D 标识符 2.下列程序的输出结果是()。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C 0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A 7 B 8 C 9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534; a=(int)125.521%4; a=5<<2; A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20 5.设有如下程序段,下面描述中正确的是()。 int k=10; while(k=0) k=k-1; A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次 6.以下程序的输出结果为()。 int i; void prt( ) { for(i=5;i<8;i++) printf("%c",'*'); printf("\t"); } main( ) { for(i=5;i<=8;i++) prt( ); } A *** B *** *** *** *** C *** *** D * * * 7.在C语言程序中,以下说法正确的是()。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套 C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 8.以下函数调用语句中含有()个实参。 func((e1,e2),(e3,e4,e5)); A 2 B 3 C 5 D 语法错误 9.以下程序的输出结果为()。 #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c; printf("d=%d",d); } A d=70 B d=80 C d=140 D d=700 10.已知职工记录描述如下,在Turbo C中,系统为变量w分配()字节的空间。 struct worker { int no; char name[20]; char sex; union { int day; int month; int year;}birth; } w; A 29 B 20 C 25 D 6 11.设有以下定义,值为5的枚举常量是()。 enum week{sun,mon=4,tue,wed,thu,fri,sat} w; A tue B sat C fri D thu 12.下面选项中正确的赋值语句是(设char a[5],*p=a;)()。 A p="abcd"; B a="abcd"; C *p="abcd"; D *a="abcd"; 13.设有以下程序段,则值为6的表达式是()。 struct st { int n; struct st *next;}; static struct st a[3]={5,&a[1],7,&a[2],9,0 },*p; p=&a[0]; A p++->n B ++p->n C p->n++ D (*p).n++ 写出下列程序的运行结果(10分,每小题2分) 1.float average (float array[10]) { int i; 6.以下程序的输出结果为(D)。 main( ) { char c; int i; for(i=65;i<68;i++) { c=i+32; switch(c) { case ‘a’:printf("%c,",c);break; case ‘b’:case ‘e’:printf("ok,"); default: printf("end"); } } } A a,ok,end B a,ok,endend C a,ok,end,end D a,ok,ok 9.以下程序的输出结果为(B)。 #define A 3 #define B(a) (A+1)*a main() { int x; x=3*A+B(7); printf("x=%d\n",x); } A x=93 B x=37 C x=60 D x=90 三写出下列程序的运行结果(10分,每小题2分) 1.main( ) { char c1=‘A’,c2=‘\144’,c3=‘\x44’,c=0xf5,x=13,a; int i=0122,j=0xa4; printf(“c1=%c,c4=%c\tc5=%c\n”,c1,c2,c3); printf(“%d,%d\n”,i,j); i=-34; j=20; printf(“%d,%d,%d\n”,i%j,i&j<<2,sizeof(j)); printf(“c=%d\n”,c|x); a=c^x<<2; printf(“a=%d\n”,a); } 2.main() { int x,y=1,z=10; if(y!=0) x=5; printf(“x=%d\t”,x); x=1; if(z<0) if(y>0) x=3; else x=5; printf(“x=%d\n”,x); if(z=y<0) x=3; else if(y==0) x=5; else x=7; printf(“x=%d\t”,x); printf(“z=%d\n”,z); } 3.main( ) { char s[20]=“I like it.”,t[20]=“Are you?”,c[20]; int i=0; while(s[++i]!=‘\0’) t[i]=s[i]; t[i]=0; printf(“string s:%s\n”,s); printf(“string t:%s\n”,t); } 4.int i=5; main( ) { int i=3; { int i=10; i++; printf(“%d\n”,i); 本文由2009220176贡献 doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 语言程序设计》 《C 语言程序设计》模拟试卷二 一、填空题。(每空 2 分,共 30 分) 填空题。(每空 。( 1.设有变量说明语句 int x=1,y=2; 则执行下述 printf 语句的输出结果是 printf("%f\n",1.0+x/y); 2.执行下述程序 #include main() { int x,y; scanf("%2d%*2s%1d",&x,&y); printf("%d\n",x+y); } 若从键盘输入 12345671 则程序的输出结果是。 3.以下程序的功能是:从键盘上输入若干名学生的成绩(百分制,可带小数,以输入 负数或 0 为结束标志),统计并输出最高成绩和最低成绩。请填空。 #include main() { float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while ( ) 。 { if (x>amax) amax=x; else if (x main() 。 { int a[6],i; for (i=0;i<6;i++) { a[i]=9*(i-2+4*(i>3))%5; printf("%3d",a[i]); } printf("\n"); } 6.执行下述程序时的输出结果是 #include main() { int a[]={2,4,6,},*ptr=&a[0],x=8,y,z; for (y=0;y<3;y++) z=(*(ptr+y)<x)?*(ptr+y):x; printf("%d\n",z); } 7.执行下述程序的输出结果是 #include main() { int a[][2]={10,20,30,40,50,60},(*p)[2]; p=a; printf("%d\n",*(*(p+2)+1)); } 8.执行以下程序的输出结果是 #include 。 。 。 main() { int s,i,sum(); for (i=1;i<=10;i++) s=sum(i); printf("s=%d\n",s); } sum(int k) { int x=0; return (x+=k); } 9.下述函数定义用来求出两个整数之和,并通过函数的模拟传地址调用,传回两整 数相加之和值,请填空。 void add(int x,int y, { *z=x+y; } 10.函数 func 的功能是将整型变量 x 的值转换成二进制数,并将该二进制数的每一 位存入由整型指针 b 所指向的一维数组 a,最低位存放于 a[0]中, 次低位存放于 a[1] 中,依此类推。请填空。 void func(int x,int *b) { int r; do { r=x%2; =r; ) x/=2; } while (x); } 11.以下程序中函数 invert 实现将数组内所有数组元素的值逆置。比如,执行本程 序将输出 10 9 8 7 6 5 4 3 2 1 请填空。 #include main() { int a[10]={1,2,3,4,5,6,7,8,9,10},i,n=10; invert(a,n-1); for (i=0;i<10;i++) printf("%3d”,a[i]); printf("\n"); } invert(int *s,int num) { int *t,k; t=s+num; while ( { k=*s; *s=*t; *t=k; s++; t--; } ) } 12.若有以下定义和说明,则结构体变量 w 在内存中所占的字节数是 union aa { float x; float y; char c[6]; }; struct st { union aa v; float w[5]; double ave; } w; 13.执行下述程序的输出结果是 #include struct str { float x; char *y; } *m; struct str group[3]={ 95.0,"Li", 82.5,"Wang", 73.5,"Sun" }; main() { m=group; printf("%.lf,%s\n",m->x,m->y); } 。 14.下面的程序用来统计某文件文件中字符的个数。请填空。 #include #include main() { FILE *fp; long num=0; if ((fp=fopen("fnam.dat","r"))==NULL) { printf("Can't open this file!\n"); exit(0); } while ( { fgetc(fp); num++; } printf("num=%d\n",num); fclose(fp); } 15.执行下述程序后,输出结果为 。 #include #define FUN1(a,b) a+b #define FUN2(a,b) a-b #define CAL(a,b) a*b+a+3 main() { printf("%d\n",CAL(FUN1(3,5),FUN2(4,5))); } ) 二、单项选择题。(每题 1 分,共 20 分) 单项选择题。(每题 。( 1.以下不是 c 语言规定保留字的是( (A)float (B)integer )。 (D) unsigned ) (C)signed 2.设 int 型变量 x 有初始值 3,则表达式 x++*5/10 的值是( (A)0 (B)1 (C)2 ) (D)3 3.下述程序执行后的输出结果是( #include main() { int x='f'; printf("%c\n",'a'+(x-'a'+1)); } (A)g 4.设有程序 #include main() { int i,j; for (i=0,j=1;i<=j+1;i+=2,j--) printf("%d\n",i); } (B)h (C)i (D)j 在运行上述程序时,for 语句中循环体的执行次数是( (A)3 (B)2 (C)1 (D)0 ) 一、单项选择题。(每题1分,共20分) 1. C程序的基本单位是:() A.子程序 B.程序 C.子过程 D.函数 2.在C语言中,非法的八进制是:() A.016 B.018 C.017 D.02 3. 不是C语言实型常量的是:() A.55.0 B.0.0 C.55.5 D.55e2.5 4 .字符串“xyzw”在内存中占用的字节数是:() A.6 B.5 C.4 D.3 5. 若已定义f,g为double类型,则表达式:f=1,g=f+5/4的值是:() A.2.0 B.2.25 C.2.1 D.1.5 D.1.5 D.1.5 D.1.5 6. 若有语句char c1=`d`,c2=`g`;printf(“%c,%d\n”,c2- `a`,c2-c1);则输出结果为:() (a的ASCII码值为97) A.M,2 B.G,3 C.G,2 D.D,g 7. 使用语句scanf(“a=%f,b=%d”,&a,&b);输入数据时,正确的数据 输入是:() A.a=2.2,b=3 B.a=2.2 b=3 C.2.2 3 D.2.2,3 8.表示关系12<=x<=y的C语言表达式为:() A.(12<=x)&(x<=y) B. (12<=x)&&(x<=y) C. (12<=x)|(x<=y) D.(12<=x)||(x<=y) 9.设x=1,y=2,m=4,n=3,则表达式x>y?x:m江苏大学大一c语言期末复习题汇总
C语言期末考试题(含答案)
C语言程序设计模拟试题2(附答案)new
C语言模拟试题二
c语言期中考试试题及答案
(完整版)c语言期末考试题及其答案
大一C语言期末考试试题
C语言程序设计模拟试题2(附答案)new
c语言期末考试试题
大一C语言期末考试题