当前位置:首页 > C复习参考题答案
D) char=int =1ong int<=float 58.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='d'十'1'一'3';后,c2中的值为( ) A)b B) 68 C) 不确定的值 D) f 59.表达式18/4*sqrt(4.0)/8值的数据类型为: ( ) A) int B)float C)double D)不确定 60.能正确表示\当x 的取值在[1,10]和[50,60]范围内为真,否则为假\的表达式是( )。 A) (x>=1) && (x<=10) &&(x> =50) && (x<=60) B) (x>=1) || (x<=10) || (x>=50) || (x<=50) C) (x>=1) && (x<=10) || (x>= 50) && (x<=60) D) (x > =1)|| (x< =10) && (x> =50) || (x<=60) 61.以下程序的输出结果是( ) # include { char *p1,*p2,str[50]=\ p1=\ strcpy(str+1,p2+1); strcpy(str+3,p1+3); printf(\ } A). AfghdEFG B). Abfhd C). Afghd D). Afgd 62.以下程序的输出结果是( ) main() {int i; for(i=1;i<6;i++) { if(i%2) {printf(\ printf(\ } printf(\ } A). #*#*# B). ##### C). ***** D). *#*#* 63.能表示10≤a≤15 的关系表达式是( ) A.a>=10 or a<=15 B.a>=10||a<=15 C.a>=10&&a<=15 D.a>=10 & a<=15 64. 以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是 A. if((a>b) &&(b>c) ) k=1; B. if((a>b) ||(b>c) ) k=1 else k=0; C. if(a<=b) k=0; D. if(a>B) k=1; else if(b<=c) k=1; else if(b>C) k=1; else k=0; 65.设int x[]={2,4,6,8},y,*p=&x[1];则执行语句 y=(*--p)++;后数组元素x[0]的值为( ). A. 2 B. 3 C. 4 D. 5 66.在下面关于函数的描述中错误的是( ) A.在一个源文件中,如果函数定义在先,调用在后,则不必声明该函数 B.如果一个函数在一个源文件里定义,而调用在另一个源文件中,则必须在调用之前声明该函数 C.函数的声明应使用函数原型 D.在一个源文件中,如果自定义函数调用在先,定义在后,则不必声明该函数 67. 若有int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; int (*q)[3]=a;*q=a[0];则能够 正确表示数组元素a[1][2]的表达式是( )。 A. *((*q+1)[2] B. *(*(q+5)) C. *(*(q+1)+2) D. (*q+1)+2 68.设int x[]={1,3,5,7,9,11,13},*p=x;则不能正确引用数组元素的表达式是( ) A.*(p--) B. *(--p) C.*(p++) D.*(++p) 69. 有以下函数 char *fun(char *p) { return p; } 该函数的返回值是( ) A. 无确切的值 C. 形参p自身的地址值 B. 形参p中存放的地址值 D. 编译有错 70. 在下面的引用定义中,正确的是( )。 A. int x,&y; y=x; B. int x,&y=x ; C. int &y=x,x; D. float z; int x,y=&z; 71.执行下面程序段后,a的值为( )。 int a,b; for(b=1,a=1;b<=20;b++) { if(a>=10) break; if (a%2==1) { a+=5; continue;} a-=3; } A. 2 B. 6 C. 10 D. 8 72. 执行下列程序段后,变量i的值为( )。 #define MA(x,y) ((x)*(y)) int i=5; i=MA(i,i+1)-7; A. 30 B. 23 C. 19 D. 1 73.若有以下的说明: struct person {char name[20]; int age; char sex; }a={\ 则对字符串li ning的引用方式不可以是( ) A. (*p).name B. p.name C. a.name D. p->name 74. 若程序中定义了以下函数 double myadd(double a,double b) { return (a+b) ;} 并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是 A. double myadd(double a,b) ; B. double myadd(double,double); C. double myadd(double b,double a) ; D. double myadd(double x,double y); 75.若有以下的说明和语句,则在执行for语句后,*(*(pt+1)+2)表示的数组元素是( ) int t[3][3],*pt[3],k; for(k=0;k<3;k++) pt[k]=&t[k][0]; A. t[2][0] B. t[2][2] C. t[1][2] D. t[2][1] 76.在C语言中,080是( ) A.八进制数 B.十进制数 C.十六进制数 D.非法数 77. 整型变量i定义后赋初值的结果是( )。 int i=2.8*6 ; A.12 B.16 C.17 D.18 78.for(i=0,x=0; !x&&i<=3;i++)循环的次数为( ) A.4 B.5 C.1 D. 无限循环 79.若有如下程序段: { int a=2,b=-1,c=2; if (a 执行后输出结果是( ) A.2 B.1 C. 3 D. 0 80.下列符号能用作C++标识符是的( )。 A. xyz/2 B. 2xsale C. x-sale D. x_sale 81.以下非法的赋值语句是( )。 A. n=(i=2,i++); B. ++(i+1); C.x=j>0; D. i++ ; 82.以下不能对二维数组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}; 83.以下合法的if语句是( )。 A. if(a=b) c++; C. if(a=>b) c++; D. if(a==b) c++; 84.字符串常量“I love china”在内存中存在需要( )字节。注:每个单词之间 有一个空格。 A.10 B.12 C. 13 D. 14 二.填空题 1.C语言源程序的扩展名为.c,可执行文件的扩展名为_______________。.exe 2.数组 int a[3][5];共定义了______个数组元素。15 3.C程序由函数构成,C程序总是从_______开始执行.main() 4. C语言中,用__________ 关键字来包含如stdio.h之类的头文件。 include 5.函数的返回值是通过函数中的________________语句来获得的。return 6.至少执行一次循环体的循环语句是 。do—while 语句 7.对于不带返回值的函数,应当用关键字______________定义函数。void 8.多分支结构的程序,通常选用_________语句来实现。 switch 9.若char ch[]=\有以下语句,则编译后分配给数组ch的内存占用的字节数为________。6 10.下面运算符 < , ++ = 按照优先级从高到低排列顺序为__ _。++ < = , 11.若char str[8]={“tony”};int k=strlen(str);则k的值为____________。4 12.______________是声明结构体类型的关键字。struct 13.int a[3][4]={{7,5},{5,8},{0,6,9,3}};则编译后a[1][2]= __________。0 14.静态局部变量应该用关键字____________来进行声明。static 15.用数组名作为函数调用的实参,则传递给形参的是____ _。数组的首地址 16.若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是________。3 17.C语言提供三种逻辑运算符,按优先级高低它们分别是 。! > && > || 18.getchar( ) 函数的功能是 。从标准输入设备读取下一个字符 19.写出下面表达式的值 6*4/7+8%3 _______ 5 x=5 ; y=2; (x++)+y _________ 7
共分享92篇相关文档