武汉理工大学网络教育C语言程序设计(本)在线作业及期末考试复习题

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

C语言程序设计(本科)在线作业及期末考试复习题
注:找到所考试题直接看该试题所有题目和答案即可。

查找按键:Ctrl+F 超越高度
一、单选( 每题参考分值2.5分)
1、若有以下类型说明,则叙述答案的是()。

typedef union {char name[10]; int age; }ustu,*umy;
A. umy是指向共用体类型ustu的指针类型名
B. ustu是一个共用体类型名
C. umy是一个共用体类型名
D. age是共用体类型ustu的成员
正确答案:【C】
2、以下程序的运行结果是()。

func(int a,int b)
{int c;
c=(a>b)?(a-b):(a+b);
return(c); }
main()
{ int x=7,y=3;
printf("%d\n",func(x,y)); }
A. 3
B. 4
C. 7
D. 10
正确答案:【B】
3、若有定义:enum day{sun,mon, tue, wed, thu, fri, sat} ; ,
则枚举常量sun、mon的值分别为()。

A. 0 1
B. 7 1
C. 1 2
D. 7 0
正确答案:【A】
4、在C语言中,运算符″=″和″==″的功能分别是()
A. 赋值运算和关系运算
B. 关系运算和赋值运算
C. 都是关系运算
D. 都是赋值运算
正确答案:【B】
5、
A. 1 2
B. 2 3
C. 3 3
D. 3 4
正确答案:【D】
6、设有int p,q;以下不正确的语句是()
A. p *=3;
B. p/=q;
C. p+=3
D. p&&=q
正确答案:【D】
7、若有下面定义,能打印出字母'L'的语句是()。

struct class
{ char name[8];
int age;
};
struct class s[12]={"Zheng",16,"Lin",18,"Yang",19,"Guo",20};
A. printf("%c\n",s[1].name[0]);
B. printf("%c\n",s[2].name[0]);
C. printf("%c\n",s[1].name);
D. printf("%c\n",s[2].name);
正确答案:【A】
8、若有定义:int *p,k=4; p=&k;以下均代表地址的是()。

A. k, p
B. &k, &p
C. &k, p
D. k, *p
正确答案:【C】
9、若在fopen函数中使用文件的方式是"a+",该方式的含义是()。

A. 以读/写方式打开一个文本文件
B. 以输出方式打开一个文本文件
C. 以读/写方式建立一个新的文本文件
D. 以读/写方式建立一个新的二进制文件
正确答案:【A】
10、若有定义:int a=3; 语句a+=a-=a*a; 运行后,a的值为()。

A. 0
B. -3
C. -12
D. -6
正确答案:【C】
11、设宏定义#define PI 3.1415926,用宏名PI替换的是()
A. 算术表达式
B. 字符串
C. 单精度实型数
D. 双精度实型数
正确答案:【B】
12、以下程序运行后,a的值是()。

main()
{ int a,b;
for(a=1,b=1;a<=100;a++)
{ if(b>=20) break;
if(b%3==1) { b+=3; continue; }
b-=5;
}
}
A. 101
B. 100
C. 8
D. 7
正确答案:【C】
13、
A. 指向一维数组的指针变量
B. 指向二维数组的指针变量
C. 指向一个整型变量的指针变量
D. 指向整型函数的指针变量
正确答案:【D】
14、以下程序段运行后,x[1]的值为()。

int x[5]={5,4,3,2,1};x[1]=x[3]+x[2+2]-x[3-1];
A. 6
B. 0
C. 1
D. 5
正确答案:【B】
15、若有定义 int m=4321,n=123,k=21; 语句printf("%4d+%3d+%2d",m,n,k); 执行后的输出结果是()。

A. 4321432143211231231232121
B. 432112321
C. 4321+123+21
D. 432+123+021
正确答案:【C】
16、以下程序段运行后s的值是()。

int a[3][3]={1,2,3,4,5,1,2,3,4};
int i,j,s=1;
for(i=0;i<3;i++)
for(j=i+1;j<3;j++)
s+=a[i][j];
A. 6
B. 120
C. 7
D. 240
正确答案:【C】
17、若定义 int a=-5,b=-8,c=-12; 则表达式 a>=b||b<c 的值为()。

A. 变量i的值
B. 变量j的值
C. 0
D. 1
正确答案:【D】
18、
A.
B.
C.
D.
正确答案:【C】
19、有以下程序:
main()
{ int c;
while((c=getchar())!= '\n')
{ switch(c-'2')
{ case 0 :
case 1 : putchar(c+4);
case 2 : putchar(c+4); break;
case 3 : putchar(c+3);
default: putchar(c+2); break;
}
}
printf("\n");
}
当输入:247<回车>,程序的输出结果是()。

A. 689
B. 6689
C. 66778
D. 66887
正确答案:【B】
20、若有定义:float x=3.5,y=3.6; 则表达式()的值为6。

A. (int)x+(int)y
B. x+y
C. (int)(x+y)
D. int(x+y)
正确答案:【A】
21、
A.
B.
C.
D.
正确答案:【C】
22、下列中答案叙述的是()。

A. C语言中的文件是一个字节流或二进制流
B. 可以以只读方式、只写方式或读写方式打开一个文本文件
C. 在程序中对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据
D. 当对文件的写操作完成之后,必须将它关闭,否则可能导致数据丢失
正确答案:【C】
23、x的值在-20至-5之间为“真”,否则为“假”的正确逻辑表达式为()。

A. -20<x<-5
B. x>-20 && x<-5
C. !(x>-20) && !(x<-5)
D. -5<x<-20
正确答案:【B】
24、若有定义:int x; char c='A'; 则正确的赋值表达式是()。

(说明:'A'的ASCII码的十进制值为65,'a'的ASCII码的十进制值为97)
A. x=c+32
B. x=c+'ABC'
C. x=c+'CBA'
D. x='ABC'
正确答案:【A】
25、
A. 计算文件wj.txt的起始地址
B. 计算文件wj.txt的终止地址
C. 计算文件wj.txt的长度
D. 将文件指针定位到文件末尾
正确答案:【C】
26、若有定义:int a=6,b=7,k=0,t=1; 语句 (k=a<b) && (t=a==b); 运行后,k、t的值分别是()。

A. 0 0
B. 1 1
C. 0 1
D. 1 0
正确答案:【D】
27、以下叙述中正确的是()
A. C源程序中注释部分可以出现在程序中任意合适的地方
B.
C. C源程序编译时注释部分的答案将被发现
D. 构成C源程序的基本单位是函数,所有函数名都可以由用户命名
正确答案:【A】
28、
A. 7
B. 8
C. 9
D. 80
正确答案:【C】
29、设int x=10, a=0, b=25;,条件表达式x<1?a+10︰b的值是()
A. 0
B. 1
C. 10
D. 25
正确答案:【D】
30、
A. 4
B. 5
C. 8
D. 9
正确答案:【A】
31、
A. -3
B. 3
C. 65539
D. 数据不确定
正确答案:【C】
32、执行下面程序段后,输出字符B的个数是() x=0;
while(x<=5){
printf("B");
x+=2;
}
A. 0个
B. 3个
C. 5个
D. 6个
正确答案:【B】
33、
A. 108
B. 18
C. 12
D. 2
正确答案:【A】
34、()为合法的常量。

A.
B.
C.
D.
正确答案:【A】
35、对二维数组的正确定义是()
A.
B.
C.
D.
正确答案:【C】
36、若已定义: int a=5,*p; 且 p=&a; 则以下表示中不正确的是()。

A. &a==&(*p)
B. *(&p)==a
C. &(*p)==p
D. *(&a)==a
正确答案:【B】
37、
A.
B.
C.
D.
正确答案:【A】
38、以下程序中的循环执行了()次。

#define N 2
#define M N+1
#define NUM (M+1)*M/2
main()
{ int i,n=0;
for(i=0;i<NUM;i++) n++; printf("%d\n",n);
}
A. 5
B. 6
C. 8
D. 9
正确答案:【C】
39、构成C源程序的基本单位是()
A. 语句
B. 变量
C. 运算符
D. 函数
正确答案:【D】
40、若有定义:union u_type {int x; float y[3]; char z; }a;
则变量a的长度是()。

A. 1
B. 4
C. 12
D. 15
正确答案:【C】
41、C语言函数体由()括起来。

A.
B.
C.
D.
正确答案:【C】
42、以下程序运行后,文件test.txt的内容是()。

#include <stdio.h>
main()
{ FILE *fp;
char str[][10]={"first","second"};
fp = fopen("test.txt", "w");
if(fp!=NULL) fprintf(fp,"%s",str[0]);
fclose(fp);
fp = fopen("test.txt", "w");
if(fp!=NULL) fprintf(fp,"%s",str[1]);
fclose(fp);
}
A. first
C. first second
D. second first
正确答案:【B】
43、
A.
B.
C.
D.
正确答案:【C】
44、以下程序的输出结果为()。

#include <stdio.h>
void main()
{enum Weekday{sun=7,mon=1,tue,wed,thu,fri,sat}; enum Weekday day=wed;
printf("%d\n",day);
}
A. 2
B. 3
C. 4
D. 5
正确答案:【B】
45、
A.
B.
D.
正确答案:【B】
46、已有如下定义和输入语句,char c1,c2;int x; scanf("%c%d%c",&c1,&x,&c2);若要求x、c1、c2的值分别为9、'K'和'H',正确的数据输入是()。

A. K9H
B. K 9 H
C. K9 H
D. 9KH
正确答案:【A】
47、下列程序段中,非死循环的是()。

A. int i=100; while(1) { i=i%100+1; if(i>=100) break; }
B. int k=0; do{ ++k; }while(k>=0);
C. int s=10; while(++s%2+s%2) s++;
D. for(;;)
正确答案:【A】
48、以下程序的运行结果是()。

void main()
{int s = 0, i = 0;
while(i< 8)
{ i++;
if(i%2==0) continue;
s+=i;
}
printf("%d\n",s); }
A. 36
B. 7
C. 16
D. 12
正确答案:【C】
49、以下程序的运行结果是()。

void main()
{ int n=9;
switch(n--)
{ default: printf("%d ",n++);
case 8:
case 7: printf("%d ",n); break;
case 6: printf("%d ",n++);
case 5: printf("%d ",n);
}
}
A. 8
B. 7
C. 8 9
D. 8 7
正确答案:【C】
50、答案的叙述是()。

A. 一个C语言源程序可由一个或多个函数组成
B. 若一条语句较长,也可分写在下一行上
C. C程序必须包含一个main()函数
D. 构成C语言源程序的基本单元是算术表达式
正确答案:【D】
一、单选( 每题参考分值2.5分)
1、
A. -3
B. 3
C. 65539
D. 数据不确定
正确答案:【C】
2、若已定义 int a=1,b=2,t=3; 则执行以下程序段后变量a,b,t的值分别为()。

if(a<b) { t=b; b=a; a=t; }
A. a=2,b=1,t=2
B. a=2,b=1,t=1
C. a=2,b=1,t=3
D. a=3,b=1,t=2
正确答案:【A】
3、若有定义:struct data{ char a; float b[3]; long c;}d1;
则变量d1的长度是()。

A. 15
B. 12
C. 4
D. 17
正确答案:【D】
4、
A. -1
B. 2
C. 1
D. 0
正确答案:【D】
5、()是正确的叙述。

A.
B.
C.
D.
正确答案:【A】
6、以下程序运行后输出结果是()。

#include <stdio.h>
int fun(int a, int b)
{ return(a-b); }
main()
{ int x=5,y=3,k;
k=fun(x,y);
printf("%d-%d=%d\n",x,y,k); }
A. 0
B. x-y=2
C. 5-3=2
D. 2
正确答案:【C】
7、以下程序中的循环执行了()次。

#define N 2
#define M N+1
#define NUM (M+1)*M/2
main()
{ int i,n=0;
for(i=0;i<NUM;i++) n++; printf("%d\n",n);
}
A. 5
B. 6
C. 8
D. 9
正确答案:【C】
8、以下属于C语言保留字的是()
A. fopen
B. include
C. get
D. unsigned
正确答案:【D】
9、若有定义 float x; 要从键盘输入数据6.02赋给x,则应选用()语句。

A. scanf("%8.2f",&x);
B. scanf("%1.2f",&x);
C. scanf("%4.2f",&x);
D. scanf("%f",&x);
正确答案:【D】
10、下列程序段运行后,表达式()的值为3。

struct point{ int x; int y;} *p;
struct point a[3]={1,2,3,4,5,6};p=a;
A. *(p+2)
B. p[1].x
C. p[2].x
D. p[3].x
正确答案:【B】
11、
A.
B.
C.
D.
正确答案:【C】
12、若定义如下结构,则能打印出字母M的语句是()。

struct person{ char name[9]; int age;};
struct person class[10]={"Wujun",20, "Liudan",23, "Maling",21, "zhangming",22};
A. printf("%c\n",class[3].name);
B. printf("%c\n",class[2].name[0]);
C. printf("%c\n",class[2].name[1]);
D. printf("%c\n",class[3].name[1]);
正确答案:【B】
13、若已定义:int a=6;float b=1.5; 要求输出形式为: 6 * 1.50=9.00 ,应选用的正确输出语句是()。

A. printf("%d * %f=%f",a,b,a*b);
B. printf("%d * %.2f=%.2f",a,b,a*b);
C. printf("%d * %d=%.2f",a,b,a*b);
D. printf("%.2f * %.2f=%.2f",a,b,a*b);
正确答案:【B】
14、以下叙述中正确的是()
A. C源程序中注释部分可以出现在程序中任意合适的地方
B.
C. C源程序编译时注释部分的答案将被发现
D. 构成C源程序的基本单位是函数,所有函数名都可以由用户命名正确答案:【A】
15、
A. 2
B. 3
C. 4
D. 5
正确答案:【C】
16、
A. 67,D
B. C,D
C. C,68
D. 67,68
正确答案:【A】
17、以下程序段运行后x的值为()。

int i,j,x=0;
for(i=3;i>=1;i--)
for(j=1;j<=i;j++)
x=x+2;
A. 14
B. 12
C. 8
D. 10
正确答案:【B】
18、若有定义:int a; 则表达式( B)不能用来判断a值为奇数是“真”,偶数是“假”。

A. a%2==1
B. !(a%2)
C. a%2
D. !(a%2==0)
正确答案:【B】
19、
A. 16,16
B. 16,-16
C. -7,17
D. 17,-7
正确答案:【D】
20、判定逻辑值为“真”的最准确叙述是()。

A. 1
B. 大于0的数
C. 非0的整数
D. 非0的数
正确答案:【D】
21、以下选项中,合法的实型常数是()。

A. E-3
B. .2E1
C. 1E.5
D. 1.5E
正确答案:【C】
22、以下C语言共用体类型数据的描述中,正确的是()。

A. 共用体变量占的内存大小等于所有成员所占的内存大小之和
B. 共用体类型不可以出现在结构体类型定义中
C. 在定义共用体变量的同时允许对第一个成员的值进行初始化
D. 同一共用体中各成员的首地址不相同
正确答案:【C】
23、以下程序的运行结果是()。

void main()
{int m,n=1,t=1;
if(t==0) t=-t;
else m=n>=0?7:3;
printf("%d\n",m);
}
A. 3
B. -1
C. 7
D. 1
正确答案:【C】
24、若已定义 int a=11; 执行以下语句后的输出结果是
()。

printf("a=%d,a=%o,a=%x\n",a,a,a) ;
A. a=11, a=11, a=b
B. a=11, a=13, a=b
C. a=11, a=13, a=c
D. a=11, a=12, a=13
正确答案:【B】
25、逗号表达式 (a=15,a*4),a+15 的值为()。

A. 15
B. 30
C. 75
D. 60
正确答案:【B】
26、若有定义:int m=7,n=10,k; 则执行语句k=m&n;后k的值为()。

A. 2
B. 1
C. 17
D. 15
正确答案:【A】
27、若已定义 int m=7;float k=5.5; 则表达式 k+ m%2/4 的值为()。

A. 6.375
B. 6.75
C. 5.75
D. 5.5
正确答案:【D】
28、C语言函数体由()括起来。

A.
B.
C.
D.
正确答案:【C】
29、main( )函数的位置()。

A. 必须在自定义函数前面
B. 可以在自定义函数后面
C. 必须位于程序的最前面
D. 必须在自定义函数后面
正确答案:【B】
30、文本文件quiz.txt的内容为"Programming" (不包含引号),以下程序段的运行结果是()。

FILE *fp;
char *str;
if((fp=fopen("quiz.txt","r"))!=NULL)
str=fgets(str,7,fp);
printf("%s",str);
A. Progr
B. Progra
C. Program
D. Programming
正确答案:【B】
31、以下程序段运行后变量k的值为()。

int m=7,n=2,k;k=(m^n)<<1;
A. 0
B. 98
C. 20
D. 10
正确答案:【D】
32、
A.
B.
C.
D.
正确答案:【A】
33、若有语句 int a; char c; scanf("%3d%c",&a,&c); 为将整数135赋给a,
字符'6'赋给c,正确的数据输入方式是()。

(说明:<CR>代表换行,__代表空格)
A. 135__6<CR>
B. 1356<CR>
C. 135<CR>6<CR>
D. 135__6__
正确答案:【B】
34、()为非法的字符串常量。

A.
B.
C.
D.
正确答案:【C】
35、在下述程序中,for循环执行的次数是()
main( )
{
int i =0,j=10,k=2,s=0;
for(; ;)
{
i+=k;
if(i>j)
{
printf("%d\n",s);
break;
}
s+=i;
}
}
A. 4
B. 5
C. 6
D. 7
正确答案:【C】
36、若有定义:char c1='A',c2='B'; 语句printf("%d+%d=%d",c1,c2,c1+c2); 运行后的结果为()。

(说明:'A'的ASCII码的十进制值为65)
A. A+B=131
B. 65+66=AB
C. A+B=AB
D. 65+66=131
正确答案:【D】
37、
A.
B.
C. +
D. -
正确答案:【C】
38、若有定义:struct student{int num; char sex; int age;}stu1;下列叙述不正确的是()。

A. student是结构体类型名
B. struct student是结构体类型名
C. stu1是用户定义的结构体类型变量名
D. num,sex,age都是结构体变量stu1的成员
正确答案:【A】
39、只能向终端输出一个字符的是()。

A. printf()函数
B. scanf()函数
C. getchar()函数
D. putchar()函数
正确答案:【C】
40、若有定义:int a[3][4];则表达式&a[2][1]-a的值为()。

A. 7
B. 8
C. 9
D. 10
正确答案:【C】
41、
A.
B.
C.
D.
正确答案:【B】
42、
A. 0,0
B. 10,3
C. 13,7
D. 7,13
正确答案:【D】
43、执行下面程序段后,输出字符B的个数是() x=0;
while(x<=5){
printf("B");
x+=2;
}
A. 0个
B. 3个
C. 5个
D. 6个
正确答案:【B】
44、
A.
B.
C.
D.
正确答案:【D】
45、下面叙述正确的是()
A. 每行最多只能写两条语句
B. 程序中必需含有自定义函数
C.
D.
正确答案:【D】
46、用数组名作为函数的实参时,答案的说法是()。

A. 定义形参数组时,元素的个数必须与实参相同
B. 可以使用数组名作为形参
C. 实参传递给形参的值是数组的首地址
D. 可以使用指针变量作为形参
正确答案:【A】
47、以下程序段运行后,屏幕的输出结果是()。

char str[80];
strcpy(str,"computer");
printf("%d",strlen(str));
A. 7
B. 8
C. 9
D. 10
正确答案:【C】
48、下面程序的运行结果是()。

#include <stdio.h>
union data { int i; char c; double d; }a[2];
void main() {printf("%d\n",sizeof(a)); }
A. 16
B. 8
C. 4
D. 2
正确答案:【A】
49、下列关于C语言函数的描述中,答案的是()。

A. 函数的定义可以嵌套,但函数的调用不可以嵌套
B. 凡不加类型说明的函数,其返回值默认为整型
C. 函数的返回值可以通过函数中的return语句获得
D. 可以定义有参函数,也可以定义无参函数
正确答案:【A】
50、字符数组s不能作为字符串使用的是()
A.
B.
C.
D.
正确答案:【A】
一、单选( 每题参考分值2.5分)
1、()是正确的叙述。

A.
B.
C.
D.
正确答案:【A】
2、若有定义:struct data{ char a; float b[3]; long c;}d1; 则变量d1的长度是()。

A. 15
B. 12
C. 4
D. 17
正确答案:【D】
3、以下程序运行后输出结果是()。

#include <stdio.h>
int fun(int a, int b)
{ return(a-b); }
main()
{ int x=5,y=3,k;
k=fun(x,y);
printf("%d-%d=%d\n",x,y,k); }
A. 0
B. x-y=2
C. 5-3=2
D. 2
正确答案:【C】
4、若有定义:int m=7,n=10,k; 则执行语句k=m&n;后k的值为()。

A. 2
B. 1
C. 17
D. 15
正确答案:【A】
5、若定义如下结构,则能打印出字母M的语句是()。

struct person{ char name[9]; int age;};
struct person class[10]={"Wujun",20, "Liudan",23, "Maling",21, "zhangming",22};
A. printf("%c\n",class[3].name);
B. printf("%c\n",class[2].name[0]);
C. printf("%c\n",class[2].name[1]);
D. printf("%c\n",class[3].name[1]);
正确答案:【B】
6、以下程序段运行后变量k的值为()。

int m=7,n=2,k;k=(m^n)<<1;
A. 0
B. 98
C. 20
D. 10
正确答案:【D】
7、若已定义 int a=1,b=2,t=3; 则执行以下程序段后变量a,b,t的值分别为()。

if(a<b) { t=b; b=a; a=t; }
A. a=2,b=1,t=2
B. a=2,b=1,t=1
C. a=2,b=1,t=3
D. a=3,b=1,t=2
正确答案:【A】
8、若已定义 int m=7;float k=5.5; 则表达式 k+ m%2/4 的值为()。

A. 6.375
B. 6.75
C. 5.75
D. 5.5
正确答案:【D】
9、
A. -1
B. 2
C. 1
D. 0
正确答案:【D】
10、下列程序段运行后,表达式()的值为3。

struct point{ int x; int y;} *p;
struct point a[3]={1,2,3,4,5,6};p=a;
A. *(p+2)
B. p[1].x
C. p[2].x
D. p[3].x
正确答案:【B】
11、若已定义:int a=6;float b=1.5; 要求输出形式为: 6 * 1.50=9.00 ,应选用的正确输出语句是()。

A. printf("%d * %f=%f",a,b,a*b);
B. printf("%d * %.2f=%.2f",a,b,a*b);
C. printf("%d * %d=%.2f",a,b,a*b);
D. printf("%.2f * %.2f=%.2f",a,b,a*b);
正确答案:【B】
12、以下程序中的循环执行了()次。

#define N 2
#define M N+1
#define NUM (M+1)*M/2
main()
{ int i,n=0;
for(i=0;i<NUM;i++) n++; printf("%d\n",n);
}
A. 5
B. 6
C. 8
D. 9
正确答案:【C】
13、若有定义:int a[3][4];则表达式&a[2][1]-a的值为()。

A. 7
B. 8
C. 9
D. 10
正确答案:【C】
14、若有定义:struct student{int num; char sex; int age;}stu1;下列叙述不正确的是()。

A. student是结构体类型名
B. struct student是结构体类型名
C. stu1是用户定义的结构体类型变量名
D. num,sex,age都是结构体变量stu1的成员
正确答案:【A】
15、以下属于C语言保留字的是()
A. fopen
B. include
C. get
D. unsigned
正确答案:【D】
16、
A. 2
B. 3
C. 4
D. 5
正确答案:【C】
17、以下程序运行时,若从键盘输入5,则输出结果是()。

main()
{ int a;
scanf("%d",&a);
if(a++>5) printf("%d\n",a);
else printf("%d\n",a--);}
A. 7
B. 4
C. 5
D. 6
正确答案:【D】
18、若有定义 float x; 要从键盘输入数据6.02赋给x,则应选用()语句。

A. scanf("%8.2f",&x);
B. scanf("%1.2f",&x);
C. scanf("%4.2f",&x);
D. scanf("%f",&x);
正确答案:【D】
19、
A. 67,D
B. C,D
C. C,68
D. 67,68
正确答案:【A】
20、以下叙述中正确的是()
A. C源程序中注释部分可以出现在程序中任意合适的地方
B.
C. C源程序编译时注释部分的答案将被发现
D. 构成C源程序的基本单位是函数,所有函数名都可以由用户命名正确答案:【A】
21、以下选项中,合法的实型常数是()。

A. E-3
B. .2E1
C. 1E.5
D. 1.5E
正确答案:【C】
22、C语言函数体由()括起来。

A.
B.
C.
D.
正确答案:【C】
23、
A. -3
B. 3
C. 65539
D. 数据不确定
正确答案:【C】
24、逗号表达式 (a=15,a*4),a+15 的值为()。

A. 15
B. 30
C. 75
D. 60
正确答案:【B】
25、下列关于C语言函数的描述中,答案的是()。

A. 函数的定义可以嵌套,但函数的调用不可以嵌套
B. 凡不加类型说明的函数,其返回值默认为整型
C. 函数的返回值可以通过函数中的return语句获得
D. 可以定义有参函数,也可以定义无参函数
正确答案:【A】
26、
A.
B.
C.
D.
正确答案:【A】
27、main( )函数的位置()。

A. 必须在自定义函数前面
B. 可以在自定义函数后面
C. 必须位于程序的最前面
D. 必须在自定义函数后面
正确答案:【B】
28、判定逻辑值为“真”的最准确叙述是()。

A. 1
B. 大于0的数
C. 非0的整数
D. 非0的数
正确答案:【D】
29、
A.
B.
C.
D.
正确答案:【C】
30、若有定义:int a=3; 语句a+=a-=a*a; 运行后,a的值为()。

A. 0
B. -3
C. -12
D. -6
正确答案:【C】
31、以下程序的运行结果是()。

void main()
{int m,n=1,t=1;
if(t==0) t=-t;
else m=n>=0?7:3;
printf("%d\n",m);
}
A. 3
B. -1
C. 7
D. 1
正确答案:【C】
32、若有定义:int a; 则表达式( B)不能用来判断a值为奇数是“真”,偶数
是“假”。

A. a%2==1
B. !(a%2)
C. a%2
D. !(a%2==0)
正确答案:【B】
33、文本文件quiz.txt的内容为"Programming" (不包含引号),以下程序段的运行结果是()。

FILE *fp;
char *str;
if((fp=fopen("quiz.txt","r"))!=NULL)
str=fgets(str,7,fp);
printf("%s",str);
A. Progr
B. Progra
C. Program
D. Programming
正确答案:【B】
34、
A. 16,16
B. 16,-16
C. -7,17
D. 17,-7
正确答案:【D】
35、
A. 0,0
B. 10,3
C. 13,7
D. 7,13
正确答案:【D】
36、设已定义char s[ ]="\"Name\\Address\023\n";,则字符串所占的字节数是()。

A. 19
B. 16
C. 18
D. 14
正确答案:【B】
37、()为非法的字符串常量。

A.
B.
C.
D.
正确答案:【C】
38、若有定义:int a=1,b=2,c=3,d=4,t=2,k=2; 语句(t=a<b)||(k=c<d); 运行后,k的值为()。

A. 2
B. 1
C. 0
D. -1
正确答案:【A】
39、若有语句 int a; char c; scanf("%3d%c",&a,&c); 为将整数135赋给a,
字符'6'赋给c,正确的数据输入方式是()。

(说明:<CR>代表换行,__代表空格)
A. 135__6<CR>
B. 1356<CR>
C. 135<CR>6<CR>
D. 135__6__
正确答案:【B】
40、下列语句中,符合C语言语法的赋值语句是()。

A. a=7+b+c=a+7;
B. a=7+b++=a+7;
C. a=7+b,b++,a+7;
D. a=7=b,c=a+7;
正确答案:【C】
41、若已定义 int a=11; 执行以下语句后的输出结果是
()。

printf("a=%d,a=%o,a=%x\n",a,a,a) ;
A. a=11, a=11, a=b
B. a=11, a=13, a=b
C. a=11, a=13, a=c
D. a=11, a=12, a=13
正确答案:【B】
42、以下C语言共用体类型数据的描述中,正确的是()。

A. 共用体变量占的内存大小等于所有成员所占的内存大小之和
B. 共用体类型不可以出现在结构体类型定义中
C. 在定义共用体变量的同时允许对第一个成员的值进行初始化
D. 同一共用体中各成员的首地址不相同
正确答案:【C】
43、下面程序的运行结果是()。

#include <stdio.h>
union data { int i; char c; double d; }a[2]; void main() {printf("%d\n",sizeof(a)); }
A. 16
B. 8
C. 4
D. 2
正确答案:【A】
44、()是不正确的叙述。

A. 注释说明只能位于一条语句的后面
B. C源程序的基本组成单元是函数
C. C源程序可由一个或多个函数组成
D. 每条语句最后必须有一个分号
正确答案:【A】
45、以下程序段运行后x的值为()。

int i,j,x=0;
for(i=3;i>=1;i--)
for(j=1;j<=i;j++)
x=x+2;
A. 14
B. 12
C. 8
D. 10
正确答案:【B】
46、下面叙述正确的是()
A. 每行最多只能写两条语句
B. 程序中必需含有自定义函数
C.
D.
正确答案:【D】
47、若有定义:int b=-15; 则()为正确的赋值表达式。

A. b+=b*3
B. b=*5
C. *b=6
D. b+10=-5
正确答案:【A】
48、
A.
B.
C.
D.
正确答案:【C】
49、构成C源程序的基本单位是()
A. 语句
B. 变量
C. 运算符
D. 函数
正确答案:【D】
50、()为合法的常量。

A.
B.
C.
D.
正确答案:【A】
51、一个结构体变量占用的内存大小是()。

A. 占内存容量最大的成员所需容量
B. 各成员所需内存容量之和
C. 第一个成员所需内存容量
D. 最后一个成员所需内存容量
正确答案:【B】
52、一个C语言源程序是由()
A. 一个主程序和若干子程序组成
B. 函数组成
C. 若干过程组成
D. 若干子程序组成
正确答案:【A】
53、Turbo C中,int型数据占用的字节数()。

A. 由用户自己定义
B. .为2个字节
C. 是任意的
D. 等于所用计算机的字长
正确答案:【B】
54、只能向终端输出一个字符的是()。

A. printf()函数
B. scanf()函数
C. getchar()函数
D. putchar()函数
正确答案:【C】
55、
A.
B.
C.
D.
正确答案:【D】
56、若有函数定义:
int func()
{static int m=0;
return m++; }
以下程序段运行后屏幕输出为()。

int i;
for(i=1;i<=4;i++)
func();
printf("%d",func());
A. 0
B. 1
C. 4
D. 5
正确答案:【C】
57、若定义int a[][4]={1,2,3,4,5,6,7,8};则表达式sizeof(a[0][1])的值为()。

A. 1
B. 2
C. 3
D. 4
正确答案:【B】
58、
A.
B.
C. +
D. -
正确答案:【C】
59、()是正确的叙述。

A.
B.
C. 强制类型转换运算的优先级高于算术运算
D.
正确答案:【C】
60、
A.
B.
C.
D.
正确答案:【A】
61、下面叙述正确的是()。

A. C语言中整型与字符型变量的混合运算表达式的结果是整型
B. (3+9)++ 是正确表达式
C. 模运算符"%"两边运算数的数据类型是任意的
D. "abc"+"xxx"是正确表达式
正确答案:【A】
62、执行下面程序段后,输出字符B的个数是()
x=0;
while(x<=5){
printf("B");
x+=2;
}
A. 0个
B. 3个
C. 5个
D. 6个
正确答案:【B】
63、若有定义:char c1='A',c2='B'; 语句printf("%d+%d=%d",c1,c2,c1+c2); 运行后的结果为()。

(说明:'A'的ASCII码的十进制值为65)
A. A+B=131
B. 65+66=AB
C. A+B=AB
D. 65+66=131
正确答案:【D】
64、字符数组s不能作为字符串使用的是()
A.
B.
C.
D.
正确答案:【A】
65、
A. 1
B. 3
C. 14
D. 28
正确答案:【A】
66、在下述程序中,for循环执行的次数是() main( )
{
int i =0,j=10,k=2,s=0;
for(; ;)
{
i+=k;
if(i>j)
{
printf("%d\n",s);。

相关文档
最新文档