c语言综合练习题及答案.doc
《c语言综合练习题及答案.doc》由会员分享,可在线阅读,更多相关《c语言综合练习题及答案.doc(165页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-datec语言综合练习题及答案c语言综合练习题及答案模拟试题一一、 选择题(本大题30分,每小题2分)1.下列说法正确的是 。A) main函数必须放在C程序的开头B) main函数必须放在C程序的最后C) main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的D) main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的2.在下面几组数
2、据类型中, 全为最常用的基本数据类型的是哪一组: 。 A)整型 实型 字符型 B)整型 数组 指针C)数组 结构体 共用体 D)指针 逻辑型 空类型3.若有说明语句:char c= 64 ; 则变量C包含: 。A)1个字符 B)2个字符 C)3个字符 D)说明不合法,C值不确定4.设有如下定义和执行语句,其输出结果为: 。 int a=3,b=3; a = -b + 1; printf(“%d %d”,a,b); A)3 2 B)4 2 C)2 2 D)2 35.C语言中,运算对象必须是整型数的运算符是 。 A)% B) C)% 和 D)*6.能正确表示x的取值范围在0,100和-10,-5内
3、的表达式是 。A)(x=-5)&(x=100)B)(x=-10)&(x=0)&(x=-10)&(x=0)&(x=100)D)(x=-5)&(x=100)7.程序段如下int k=0;while(k+=2); printf(last=%dn,k);则执行结果是last= 。A)2 B)3 C)4 D)无结果8.下面有关for循环的正确描述是 。A)for循环只能用于循环次数已经确定的情况B)for循环是先执行循环体语句,后判断表达式C)在for循环中,不能用break语句跳出循环体D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来9.若二维数组a有m列,则aIj元素前的数组元素
4、个数为: 。A)j*m+i B)i*m+j C)i*m+j-7 D)i*m+j+110.C语言中变量的指针指的是: 。A)变量类型 B)变量值 C)变量值 D)变量地址11.设有两字符串“Beijing”、“China”分别存放在字符数组str110,str210中,下面语句中能把“China”连接到“Beijing”之后的为: 。A)strcpy(str1,str2);B)strcpy(str1, “China”);C)strcat(str1,“China”)D)strcat(“Beijing”,str2);12.以下程序的运行结果是: 。main( ) int a=2, i ; for(i
5、=0;i3;i+) printf(“%4d”,f(a) ) ; f( int a) int b=0,c=3;b+; c+; return(a+b+c); A)7 10 13 B)7 7 7C)7 9 11 D)7 8 913.在C语言程序中,若未在函数定义时说明函数类型,则函数默认的类型为: 。 A)void B)double C)int D)char14.在说明一个结构体变量时系统分配给它的存储空间是 。A) 该结构体中第一个成员所需存储空间B) 该结构体中最后一个成员所需存储空间C) 该结构体中占用最大存储空间的成员所需存储空间D) 该结构体中所有成员所需存储空间的总和15.使用fseek
6、函数可以实现的操作是 。A) 改变文件的位置指针的当前位置B) 文件的顺序读写C) 文件的随机读写D) 以上都不对 二、判断题(本大题10分,每小题1分)1、C程序可以由若干个源文件组成,因此最小的功能单位是源文件,最小编译单位的是函数。( )2、C程序有三种结构化程序设计方法,分别顺序结构、选择结构和循环结构。( )3、在if语句中,if子句与else子句都可以单独使用,构成了if语句的两种缺省形式。( )4、for语句作为循环控制语句时,其括号内各个表达式及其后的分号都可缺省。( )5、C程序中函数不可以嵌套定义但可以嵌套调用。( )6、字符串可以用来给数组赋值,在C程序的执行语句中可以直
7、接用字符串给数组名赋值。 ( )7、数组名也可作为函数参数使用,此时数组名代表数组的起始地址。( )8、在函数内的复合语句中定义的变量在本函数范围内有效。( )9、声明一个结构体类型的一般形式为struct 结构体名 成员表列;。( )10、ANCI C规定了标准输入输出函数库,用fseek()函数来实现打开文件。( )三、程序填空题(本大题12分,每小题2分)1.下面程序可求出11000的自然数中所有的完数(因子和等于该数本身的数)请填空。main( ) int m, n, s;for(m=2;m1000;m+) _(1)_;for(n=1;n=m/2;n+)if(_(2)_) s+=n;i
8、f(_(3)_) printf(“%dn”, m); 2. 用起泡法对十个数由大到小排序。main( ) int a11, i, j, t; printf(“input 10 numbers: n”); for(i=1;i11;i+) scanf(“%d”,&ai); printf(“n”); for (j=1;j=9;j+)for(i=1; _(1)_; i+)if (_(2)_)t=ai; ai=ai+1; _(3)_ ; printf(“the sorted numbers: n”); for ( i=1; i11; i+) printf(“%d”,ai);四、写出下面程序的执行结果(本
9、大题24分,每小题4分)1.#include main( ) char c=A+10-5;printf(“c=%cn”,c); 2.#include main( ) int a,b,c; a=1;b=2;c=3;if(ab)if(ac) printf(“%dn”,a); else printf(“%dn”,b); printf(“overn”); 3. main( ) char a66, i, j; for(i=0;i6;i+) for(j=0;j6;j+) if ( ij )aij= #;else if(i=j) aij= ;else aij= * ; for(i=0;i6;i+) for(
10、j=0;j6;j+) printf(“%c”,aij); printf(“n”);4.main( ) int i=2, x=5, j=7; fun (j,6); printf(“i=%d; j=%d; x=%dn”, i, j, x ) ; fun (int i, int j ) int x=7; printf(“i=%d; j=%d; x=%dn”, i, j, x) ;5. # include main ( ) int i, j; int p,q; i=2; j=10; p=&i; q=&j; p=10; q=2; printf(i=%d, j=%dn , i, j); 6. struct
11、 stru int x; char c; ;main( ) struct stru a=10, x,*p=&a; func (p); printf ( “%d,%c”, a.x, a.c); func (struct stru *b)b-x=20; b-c=y; 五、编程题(本大题24分,第一题7分,第二题8分,第三题9分)1.把输入的整数(最多不超过5位)按输入顺序的反方向输出,例如,输入数是12345,要求输出结果是54321,编程实现此功能。2.编一程序,从键盘输入10个整数并保存到数组,要求找出最小的数和它的下标,然后把它和数组中最前面的元素对换位置。3.编写一个函数计算一个字符串的长
12、度,输入输出在主函数内完成。(使用指针)模拟试题二一、选择题(本大题30分,每小题2分)1.C语言中不能用来表示整常数的进制是 。 A)十进制 B)十六进制 C)八进制 D)二进制2.C语言规定标识符由 等字符组成。A)字母 数字 下划线 B)中划线 字母 数字)字母 数字 逗号 )字母 下划线 中划线 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.0000004.以下表达式: 2+a+i*f, 其中i为整型变
13、量,f为float型变量,则表达式的最终数据类型为 。A)int B)float C)char D)double 5.有如下语句: printf(“%s,%5.3sn”,“COMPUTER”,“COMPUTER”);执行语句后的最终结果为 。A)COMPUTER ,CMP . B)COMPUTER, CMP.C)COMPU, CMP. D)COMPU, CMP .6.以下if语句中语法错误的是 。A)if (ab)printf(“%f”,a); B)if(ab)printf(“%f”,a);else printf(“%f”,b);C)if(ab)printf(“%f”,a) D)if(ab)p
14、rintf(“%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=0B)(x%4=0|x%100!=0)&x%400=0C)(x%4=0&x%400!=0)|x%100=0D)(x%100=0|x%4!=0)&x%400=08.循环语句中的for语句,其一般形式如下:for(表达式1;表达式2;表达式3) 语句其中表示循环条件的是 。A)表达式1 B)表达式2 C)表达式3 D)语
15、句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 a10,*p=a; 则*(p+3)表示的是 。A)元素a3的地址 B)元素a3的值C)元素a4的地址 D)元素a4的值12.若有如下语句: int *p1,*p2; 则其中int所指的是 。A)p1的类型 B
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 综合 练习题 答案
限制150内