C语言程序设计
Prepared on 22 November 2020
一、单选题
1.
(4分)若调用fputc函数输出字符成功,则其返回值是( )。
D.输出的字符
• • • •
得分:0知识点:C语言程序设计作业题 D
2.
(4分)若以下程序段: struct dent? { int n; int*m; };
int a=1, b=2,c=3;
struct dent s[3]={{101<&a},{102<&b},{103,&c}; main() {
struct dent *p;
p=s; ….. }?
则以下表达中值为2的是( )。
• • • •
A.(p++)->m B.*(P++)->m C.(*p).m D.*(++p)->m
得分:0知识点:C语言程序设计作业题 D
3.
(4分)在一个c源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是( ).
• • • •
得分:0知识点:C语言程序设计作业题 D
4.
(4分)若二维数组a有m列,则在a[i][j]前面的元素个数为( )。
• • • •
*m+i *m+j *m+j-1 *m+j+1
得分:0知识点:C语言程序设计作业题 B
5.
(4分)下面程序的运行结果是( ). main() {
struct cmplx {int x; int y;
} cnum[2]={1,3,2,7};
printf(“%d ”,cnum[0].y/cnum[0].x*cnum[1].x); }
• •
• •
得分:4知识点:C语言程序设计作业题
6.
(4分)下面程序段的运行结果是( ).
for(x=3,x<6;x++) printf((x%2)(“##%d ”),x);
• • •
A.**3 ##4 **5
B.##3 **4 ##5
C.##3 **4##5
D.**3##4 **5
• • •
• •
• •
得分:0知识点:C语言程序设计作业题 D
7.
(4分)若I为整型变量,则以下循环执行次数是( ).
for(I=2;I==1) printf(“%d”,I--);
• • • •
A.无限次 次 次 次
得分:0知识点:C语言程序设计作业题 B
8.
(4分)以下关于运算符优先顺序的描述中正确的是( ).
• • • •
A.关系运算符<算术运算符<赋值运算符<逻辑与运算符 B.逻辑与运算符<关系运算符<算术运算符<赋值运算符 C.以赋值运算符<逻辑与运算符<关系运算符<算术运算符 D.算术运算符<关系运算符<赋值运算符<逻辑与运算符
得分:0知识点:C语言程序设计作业题 C
9.
(4分)fscanf函数的正确调用形式是( )。
• •
(fp,格式字符串,输出表列); (格式字符串,输出表列,fp);
• •
(格式字符串,文件指针,输出表列); (文件指针,格式字符串,输入表列);
得分:0知识点:C语言程序设计作业题 D
10.
(4分)下面程序( )。 1 main() 2 {
3 int a[3]={0}; 4 int I;
5 for(I=0;I<3;I++)scanf(“%d”,&a[I]); 6 for(I=I;I<4;I++)a[0]=a[0]+a[I]; 7 printf(“%d ”,a[0]); 8}
• • • •
A.没有错误 B.第3行有错误 C.第5行有错误 D.第6行有错误
得分:0知识点:C语言程序设计作业题 D
11.
(4分)设有以下说明,则下面不正确的叙述是( )。 Union data { int i; char c; float f; }un;
• • • •
所占的内存长度等于成员f的长度 的地址和它的各成员地址都是同一地址 可以作为函数参数
D.不能对un赋值,但可以在定义un时对它初始化
得分:4知识点:C语言程序设计作业题
12.
(4分)若有以下说明和语句,则 对中域的正确引用方式是( )。 Struct pupil? {char name [20 ; int sex; }pup,*p; p=&pup;
• • • •
A. > C.(*p). D.(*p).sex
得分:0知识点:C语言程序设计作业题 D
13.
(4分)C语言的编译系统对宏命令的处理是( )。
• • • •
A.在程序运行时进行的 B.在程序连接时进行的
C.和C程序中的其它语句同时进行编译的 D.在对源程序中的其它语句同时进行编译的
得分:0知识点:C语言程序设计作业题 D
14.
(4分)没有,int a=1,b=2,c=3,d=4,m=2,n=2 执行 (m=a>b&&(n=c>d)后n的值为( ).
• •
• •
得分:0知识点:C语言程序设计作业题 B
15.
(4分)以下程序段( ). x=-1; do{x=x*x;} while(! x);
• • • •
A.是死循环 B.循环执行二次 C.循环执行二次 D.有语法错误
得分:0知识点:C语言程序设计作业题 C
16.
(4分)设有以下说明: struct packed { unsigned one:1; unsigned two:2; unsigned three:3;
unsigned four:4; } data;
则以下位段数据的引用中不能得到正确数值的是( )
• • • •
A. =4 B.=3 C. =2 D.=1
得分:0知识点:C语言程序设计作业题 A
17.
(4分)设 char *s=” a17bc”; 则指针变量s指向的字符串所占的字节数是( )。
• • • •
得分:4知识点:C语言程序设计作业题
18.
(4分)以下叙述中不正确的是( )。
• •
A.预处理命令行都必须以#号开始
B.在程序中凡是以#号开始的语句行都是预处理命令行
• •
程序在执行过程中对预处理命令行进行处理 D.
以下是正确的宏定义 #define IBM-PC
得分:0知识点:C语言程序设计作业题 C
19.
(4分)下面不正确的字符串常量是( )
• • • •
A.’abc’ B.”12’12” C.”0” D.“ ”
得分:0知识点:C语言程序设计作业题 A
20.
(4分)C语言用( )表示逻辑“真”值。
或y
C.非零整数值
• • •
•
D.整数0
得分:0知识点:C语言程序设计作业题 C
21.
(4分)以下程序的正确运行结果是( ). main() {int a=2,I;
for (I=0;I<3;I++) printf(“4%d”,f(a)); } f(int a)
{ int b=0;static int c=3; b++; c++; return(a+b+c); }
• • • •
7 7 10 13 9 11 8 9
得分:0知识点:C语言程序设计作业题 D
22.
(4分)若哟于以下说明和语句: struct student? {int age; int num; }std,*p; p=&std;
则以下对结构体变量std中成员age的引用方式不正确的是( )。
• • • •
A. >age C.(*p).age D.*
得分:0知识点:C语言程序设计作业题 D
23.
(4分)设有以下结构体类型: struct st { char name[8]; int num; float s[4]; }student[50]; 并且结构体数组student中的元素都已有值,若要将这些元素写到硬盘 文件fp中,以下不正确的形式是( )。
•
( student, sizeof( struct st ), 50, fp );
• • • •
( student, 50*sizeof( struct st ), 1, fp ); ( student, 25*sizeof( struct st ), 25, fp ); ( i=0;i<50; i++)
fwrite( student+i, sizeof( struct st ), 1, fp );
得分:4知识点:C语言程序设计作业题
24.
(4分)对for(表达式1; ;表达式3)可以理解为( ).
• • • •
(表达式1;0;表达式3) (表达式1;1;表达式3) (表达式1;表达式1;表达式3) (表达式1;表达式3;表达式3)
得分:0知识点:C语言程序设计作业题 B
25.
(4分)若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是( )。
• • • •
A.“ab+” B.“wb+” C.“rb+” D.“ab”
得分:0知识点:C语言程序设计作业题
一、单选题
1.
(4分)若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是( ).
• • • •
%2==1 B.!(入%2==0) C.!(A%2) %2
得分:4知识点:C语言程序设计作业题
2.
(4分)在C语言中,int、char和short三种类型数据在内存中所占用的字节数( )。
• • • •
A.由用户自己定义 B.均为2个字节 C.是任意的
D.有所用的机器的机器字长决定
得分:0知识点:C语言程序设计作业题 D
3.
(4分)
下面程序的运行结果是( ). #include? main() {int num=0; while(num <=2) {num++;
printf(“%d\\n ”,num); } }
2 2 3 2 3 4
• • • •
得分:4知识点:C语言程序设计作业题
4.
(4分)设有以下说明: struct packed { unsigned one:1; unsigned two:2; unsigned three:3;
unsigned four:4; } data;
则以下位段数据的引用中不能得到正确数值的是( )
• • • •
A. =4 B.=3 C. =2 D.=1
得分:4知识点:C语言程序设计作业题
5.
(4分)定义如下变量和数组: int k;
int a[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是( )。
for (k=0;k<3;k++)printf(“%d”,a[k][2-k]);
• • • •
5 7 6 9 5 9 4 7
得分:4知识点:C语言程序设计作业题
6.
(4分)对下面程序段 #define A 3
#define B(a) ((A+1)*a) .? .
x=3*(A+B(7)); 正确的判断是( )。
• • • •
A.程序错误,不许嵌套宏定义 =93 =21
D.程序错误,宏定义不许有参数
得分:4知识点:C语言程序设计作业题
7.
(4分)在16位IBM-PC机上使用C语言,若有如下定义: struct data {int i; char ch; double f; }b;
则结构变量b占用内存的字节数是( ).
• • • •
得分:4知识点:C语言程序设计作业题
8.
(4分)
已有程序和输入数据的形式,程序中输入语句的正确形式应当为( )。(注:︼表示空格,表示回车) main() { int a; float f;
printf(“\\nInput number:”); 输入语句
printf(“\\nf=%f,a=%d ”,f,a); }
Input number:︼ ︼2
• • • •
(“%d,%f”,&a,&f); (“%f,%d”,&f,&a); (“%d,%f”,&a,&f); (“%f,%d”,&f,&a);
得分:0知识点:C语言程序设计作业题 D
9.
(4分)
若有宏定义如下: #define X 5 #define Y X+1 #define Z Y*X/2
则执行以下printf语句后,输出结果是(Int a;a=Y; Printf(“%d ”,Z); Printf(“%d ”,--a);
•
A.
7 6
• •
6
• •
5
)。
• •
5
得分:4知识点:C语言程序设计作业题
10.
(4分)对for(表达式1; ;表达式3)可以理解为( ).
• • • •
(表达式1;0;表达式3) (表达式1;1;表达式3) (表达式1;表达式1;表达式3) (表达式1;表达式3;表达式3)
得分:4知识点:C语言程序设计作业题
11.
(4分)以下可作为函数fopen中第一个参数的正确格式是( )。
• •
:user :user \\
• •
得分:4知识点:C语言程序设计作业题
12.
(4分)根据定义和数据的输入方式,输入语句的正确形式为( )。 已有定义:float f1,f2; 数据的输入方式:
• • • •
(“%f,%f”,&f1,&f2); (“%f%f”,&f1,&f2); (“%%”,&f1,&f2); (“%,%”,&f1,&f2);
得分:0知识点:C语言程序设计作业题 B
13.
(4分)下面程序段的运行结果是( ) x=y=0;
while(x<15) y++, x+=++y; printf(“%d,%d”’y’x);
• • • •
,7 ,12 ,8 ,20
得分:4知识点:C语言程序设计作业题
14.
(4分)
以下正确的定义语句是( )。
• • • •
a[1][4]={1,2,3,4,5}; x[3][]=1},{2},{3; b[2][3]=1},{1,2},{1,2,3; y[][3]={0};
得分:0知识点:C语言程序设计作业题 D
15.
(4分)有如下程序,若要求a1、a2、c1、c2的值分别为10、20、A、B,正确的数据输入是( ). main() { int a1,a2; char c1,c2;
scanf(\"%d%d\scanf(\"%c%c\}
• • •
20 • 20AB 得分:0知识点:C语言程序设计作业题 D 16. (4分)以下不是无限循环的愈句为( ). • • • • (y=0,x=1;x>++y;x=i++) I=x ( ; ;x++=I); (1){x++; } (I=10; ;I--) sum+=I; 得分:4知识点:C语言程序设计作业题 17. (4分) 以下scanf函数调用语句中对结构体 变量成员的不正确引用是( )。 Stuct pupil {char name[20 ]; int age ; int sex; }pup[5,]*p; p=pup; • (“%s”,pup[0].name); • • • (“”%d),&pup[0].age; (“%d”,&sex)); (p (“%d”,P->age); 得分:4知识点:C语言程序设计作业题 18. (4分)请读程序 #include<> #defineMUL(x,y)(x)*y main() {int a=3,b=4,c; c=MUL(a++,b++); printf(\"%d \? } 上面程序的输出结果是( )。 • • • • 得分:4知识点:C语言程序设计作业题 19. (4分) 阅读以下程序,当输入数据的形式为:25,13,10 scanf(“%d%d%d”,&x,&y,&z); printf(“x+y+z=%d ”,x+y+z); } • • • • +y+z=48 +y+z=35 +z=35 D.不确定值 得分:4知识点:C语言程序设计作业题 20. (4分)C语言共用体型变量在程序运行期间( ) 。 • • • • A.所有成员一直驻留在内存中 B.只有一个成员驻留在内存中 C.部分成员驻留在内存中 D.没有成员驻留在内存中 得分:4知识点:C语言程序设计作业题 21. (4分)以下不正确的定义语句是( )。 • • • • x[5]={,,,,}; y[5]={0,1,3,5,7,9}; c1[]={‘1’,’2’,’3’,’4’,’5’}; c2[]={‘x10’,’xa’,’x8’}; 得分:4知识点:C语言程序设计作业题 22. (4分)已知各变量的类型说明如下: Int k,a,b; Unsigned long w=5; Double w=; 则以下不符合C语言与法的表达式是( ). • • • • %(-3) +=-2 =(a=2,b=3,a+b) +=a-=(b=4)*(a=3) 得分:4知识点:C语言程序设计作业题 23. (4分)以下程序段中存在错误的是( )。 • A.#define array_size 100 • Int array1[array_size]; B.#define PI #define S(r) PI*(r)*(r) ……… Area=S; C.#define PI #define S(r) PI*(r)*(r) ……… Area=S(a+b); D.#define PI #define S(r) PI*(r)*(r) ………….. Area=S(a); ... • • • • • • • • • • • • • 得分:0知识点:C语言程序设计作业题 D 24. (4分)若要求的值分别为10、20、A、B,正确的数据输入是( )。 • 20B • • • A 20 B 得分:0知识点:C语言程序设计作业题 A 25. (4分) 已有如定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A 和B,当从第一列开始输入数据时,正确的数据输入方式是( )。(注: • • • ︼ ︼20︼ ︼AB • • 得分:0知识点:C语言程序设计作业题 D 因篇幅问题不能全部显示,请点此查看更多更全内容