C语言程序设计
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;
…..
}?
则以下表达中值为2的是()。
? A.(p++)->m
? B.*(P++)->m
? C.(*p).m
? D.*(++p)->m
得分:0知识点:C语言程序设计作业题
D
3.
(4分)在一个c源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是( ).
?
?
?
?
得分:0知识点:C语言程序设计作业题
D
(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);