石油大学 C语言 在线考试附答案
- 格式:doc
- 大小:102.50 KB
- 文档页数:18
第1页 共18页
《C语言》综合复习资料
一、单选题
1. C语言中基本数据类型有 ( )
A)整型、实型、逻辑型 B)整型、字符型、逻辑型
C)整型、实型、字符型 D)整型、实型、字符型、逻辑型
2. 在C语言中,数字029是一个( )
A)八进制数 B)十进制数 C)十六进制数 D)非法数
3. 在以下关于C语言的不严格的叙述中,错误的说法是( )
A)在标识符中,大写字母和小些字母的意义相同
B)有些不同类型的变量可以在一个表达式中运算
C)在赋值表达式中等号“=”左边的变量和右边的值可以是不同类型
D)同一个运算符号在不同的场合可以有不同的含义
4. 已知 int a=4,b=5; ,这执行表达式 a=a>b 后,变量a的值为( )
A) 0 B)1 C) 4 D) 5
5. 设有定义 int a=3,b=4,c=5; ,则以下表达式中,值为0的表达式是( )
A) a&&b B) a<=b C) a||b+c&&b-c D) !((a
6. 以下不合法的赋值语句是( )
A)x=(1,y=2); B)++x; C)x=y=15; D)y=int(x);
7. 已定义c为字符型变量,则下列语句中正确的是( )
A)c='97'; B)c="97"; C)c="a"; D)c=97;
8. 能将高级语言编写的源程序转换为目标程序的软件是( )
A)汇编程序 B)编辑程序 C)解释程序 D)编译程序
9. 设有定义 char *p=“abcde\0fghjik\0”; 则printf(“%d\n”,strlen(p));输出结果是( )
A) 12 B) 15 C) 6 D) 5
10.以下选项中合法的实型常数是( )
A) 5E2.0 B) E-3 C) .2E0 D) 1.3E
11.以下非法的赋值语句是( )
A) n=(i=2,++i); B) j++; C) ++(i+1); D) x=j>0;
12.已定义c为字符型变量,则下列正确的赋值语句是( )
A)c='66'; B)c="66"; C)c="B"; D)c=66;
13.设a=3,b=4,c=-5,则逻辑表达式:a || b+c&& b==c 的值是( )
A)1 B)0 C)非0 D)语法错
14.以下能正确定义数组并正确赋初值的语句是( )
A)int N=5,b[N][N]; B)int a[1][2]={{1},{3}};
C)int c[2][]= {{1,2},{3,4}}; D)int d[3][2]={{1,2},{34}};
第2页 共18页
15.结构化程序设计的三种基本结构是( )
A)顺序结构、选择结构、循环结构 B)if、switch、break
C)for、while、do-while D)if、for、continue
16.在一个C程序中( )
A)main函数必须出现在所有函数之前 B)main函数可以在任何地方出现
C)main函数必须出现在所有函数之后 D)main函数必须出现在固定位置
17.以下合法的字符常量是( )
A)‘\084’ B)‘ab’ C)‘\x43’ D)“\0”
18.用8位无符号二进制数能表示的最大十进制数为( )
A)127 B)128 C)255 D)256
19.设有定义:int x=0,y=1,z=1;则运行表达式:x=y++>z--后,x,y,z的值分别是( )
A) 1,1,1 B) 1,2,0 C) 0,1,1 D) 0,2,0
20.设有int x=11;则表达式(x++*1/3)的值是( )
A) 3 B)4 C) 11 D) 12
21.若有: int x=1,n=5; 则执行语句x%=(n%2)后,x的值为( )
A) 3 B)2 C) 1 D) 0
22.结构化程序的3种基本控制结构是( )
A) if-else结构、while结构、for结构 B) 顺序结构、分支机构、循环结构
C) while结构、do-while结构、for结构 D) 以上三种都不对
23.下面程序段的输出结果是( )
int k=11;
printf(“%d,%o,%x”,k,k,k);
A)11,12,11 B)11,13,13 C)11,013,0xb D)11,13,b
24.在微型计算机系统中,存储一个汉字的国标码所需要的字节数是( )
A) 1 B) 2 C) 3 D) 4
25.以下非法的赋值语句是( )
A) n=(i=2,++i); B) j++; C) ++(i+1); D) x=j>0;
26.语句:printf("%d",(a=2)&&(b=-2)); 的输出结果是( )
A)无输出 B)结果不确定 C) 1 D) 2
27.设有定义语句:charstr[][20]={"Hello","Beijing"},*p=str; ( )
则printf("%d\n",strlen(p+20)); 输出结果是
A)0 B)5 C)7 D)20
28.以下选项中,与k=++n完全等价的表达式是( )
A) k=n,n=n+1 B) n=n+1,k=n C) k=++n D) k+=n+1
二、读程序,写出程序执行结果
1. #include
第3页 共18页
void main()
{ int a=10,b=0;
if(a==12)
{a++; b++; }
else
{ a=a+3 ; b=b+3;}
printf(“%d,%d\n”,a,b);
}
2. #include
void main()
{ ints,i;
for(s=0,i=1;i<5;i++,s+=i) ;
printf(“%d\n”,s);
}
3. #include “stdio.h”
void main()
{ char n=‘c’;
switch(n++)
{ default: printf(“error!”); break;
case ‘a’: case ‘A’:
case ‘b’: case ‘B’: printf(“good!”);break;
case ‘c’: case ‘C’: printf(“pass!”);
case ‘d’: case ‘D’: printf(“warm!”);
}
}
4. #include
void main()
{ int k=4,n=0;
for( ; n { n++; if(n%3!=0) continue; k- -; } printf("%d,%d\n",k,n); } 5. #include 第4页 共18页 int f(int b[],intm,int n) { inti,s=0; for(i=m;i<=n;i+=2) s+=b[i]; return s; } void main() { intx,a[]={1,2,3,4,5,6,7,8,9,10}; x=f(a,3,8); printf(“%d\n”,x); } 6. #include voidcopy_str(char from[ ],char to[ ]) { int k=0; while(from[k]!=‘\0’) { to[k]=from[k]; k++; } to[k]=‘\0’; /*末尾加上串结束标志*/ } void main() { char str1[80]=”red”,str2[80]=”green”; copy_str (str1,str2); puts(str2); } 7. #include int d=1; void fun(int p) { int d=5; d+=p++; printf(“%d”,d); } void main() { int a=3; fun(a); d+=a++; printf("%d\n", d); } 8. #include void main() 第5页 共18页 { int i,j; for(i=0; i<3;i++) { for(j=0; j<=i;j++) printf("*"); printf("\n"); } } 9. #include void main() { inti; for (i=0; i<3; i++) switch (i) { case 1: printf("%d ", i); case 2: printf("%d ", i); default :printf("%d ", i); } } 10. #include intws(int x) { if(x/100>0) return(3); else if(x/10>0 ) return(2); else return(1); } void main() { int a=123; printf("%d是%d位数\n",a,ws(a)); } 11. #include #include void main() { char a[10]="abc"; char b[]="defg";