C语言编程 Flashcards
(单选)C语言编程的基本结构是由函数组成的,每个函数都是由变量定义说明部分和算法执行部分组成。其中变量定义的位置,可以是在函数的___。
A:中间位置
B:最后位置
C:开始位置
D:任意位置
C:开始位置
所有变量都要先定义再使用,一般在开始位置。
(单选)下列计算机程序设计语言当中,哪一种不需要编译解释,可以由计算机系统直接识别并执行的是___。
A:汇编语言 B:中级语言 C:机器语言 D:高级语言 E:C语言 F:C++语言 G:Java语言
C:机器语言
机器指令的机器语言。
(单选)在C语言使用标准库函数时,只要将些函数相关定义说明的____头文件, 包含在所使用程序源代码中,就可以正常使用
A:.c B:.CPP C:.h D:.exe E:.obj
C:.h
使用标准库函数的.h头文件。
(单选)机器语言就是____代码组成的指令序列。
A:八进制 B:二进制 C:十六进制 D:十进制 E:十二进制
B:二进制
(多选)头文件stdio.h的文件名,是C语言系统标准库函数中有关____函数的英文简略缩写形式。
A:绘图 B:输入 C:数学计算 D:输出 E:内存管理
B:输入
D:输出
(多选)机器指令由_____两部分组成,每一条机器指令,可使计算机执行一个简单特定的操作。
A:操作码 B:数据 C:操作数 D:存储方式 E:存储内容
A:操作码
C:操作数
(多选)高级语言编写的源程序必需要“翻译”成机器指令才能执行。一般分为____两种方式。
A:undefined B:手写方式 C:编译方式 D:定义方式 E:解释方式 F:说明方式
C:编译方式
E:解释方式
(填空) C语言程序源代码中如果有定义: #define PI 3.14 则程序执行: float y; y=4*PI*2*2; 变量y的值为\_\_\_\_。
50.24
(填空)
下列程序运行后输出结果为sum=____。
main()
{int i=1,sum=0;
aaa: if(i!=6)
{sum=sum+i;
i=i+1;
goto aaa;
}
printf(“sum=%d\n”,sum);
}
15
(填空)
下列程序运行后输出结果为the sum is ____。
main()
{ float sum=0;
float i=1;
while (i!=10)
{ sum+=1/i ;
i++;
}
printf(“the sum is %f \n”,sum);
}
2.83
(填空)
使用C语言标准库函数中的scanf()函数,作为运算结果等数据的____执行命令语句。
输入
(填空)
汇编语言指令的_____部分,使用英语单词省略形式符号表示,地址码部分直接写变量名。
操作码
(填空)
汇编语言指令_____的地址码部分,直接使用变量名。
操作数
(填空)
汇编语言的编译效率很高,最接近_____指令,但又比其接近用户。
机器
(填空)
高级语言的____方式,其特点是每次需要运行时,都离不开翻译程序环境,需要逐条读入检查和翻译程序源代码每条命令,也不生成.obj目标程序。
解释
(填空)
高级语言的____方式,用编译程序把整个源程序代码一次性翻译成用机器语言表述的目标程序。
编译
(判断)
C语言程序可以由许多源代码程序文件组成。
正确
可编译统调组成一个可执行程序,便于软件开发。
(判断)
每个C.源代码文件可由许多函数组成,便于功能模块化。
正确
(判断)
编译的.C源程序成功后生成.OBJ文件。
正确
表示源代码无语法错误。
(判断)
源程序.C文件不用生成.OBJ文件,也可以生成.EXE文件。
错误
生成.OBJ文件才可链接生成.EXE文件。
(判断)
C源代码程序中必须要有一个main()函数。
正确
main()函数是C程序的主调函数。
(判断)
使用.h包含文件说明需要使用C语言的标准库函数。
正确
使用C语言的标准库函数,需将相关.h文件包含到源程序中。
(单选)
如果在程序设计过程中需要使用系统标准库函数中的数学函数(如求指数幂的pow(x,3)函数等),需用include命令将下列_____文件,包含在程序源代码中。
A:stdio.h B:string.h C:conio.h D:math.h E:graphics.h F:malloc.h
D:math.h
(单选)
在函数内部定义的变量,都是____,其作用范围只限于函数内部。
A:全局变量
B:数值变量
C:局部变量
D:常用变量
C:局部变量
(单选)
宏代换常量定义命令是_____。
A:#include
B:int
C:#if
D:#define
D:#define
(单选)
____是定义在所有函数之外的变量。
A:局部变量
B:赋值变量
C:全局变量
D:内存变量
C:全局变量
(单选)
在printf()命令语句中,用%c控制符,是以ASCII____形式输出运行结果。
A:字符
B:数值
C:数字
D:二进制码
A:字符
(多选)
在程序调试过程中,主要有____三大步骤,这些都可能出现相关错误信息提示。
A:编译处理 B:编排格式 C:链接组建 D:对齐处理 E:计算执行
A:编译处理
C:链接组建
E:计算执行
(多选)
从C语言源代码程序的整体结构上看,一般主要包括____三个基本部分组成。
A:赋值命令部分 B:初始定义说明部分 C:执行部分 D:主函数main()部分 E:用户自定义函数部分
B:初始定义说明部分
D:主函数main()部分
E:用户自定义函数部分
(多选)
C语言每个定义函数都是由____和____这两部分组成。
A:函数计算
B:函数首
C:函数调用
D:函数体
B:函数首
D:函数体
(多选)
C语言的标识符是在程序设计过程中,需要使用的____等,需要用户自己定义命名,以便程序执行调用。
A:数据变量
B:字符常量
C:自定义函数
D:数据值
A:数据变量
C:自定义函数
(多选)
下面是C语言系统保留关键字是____。
A:char B:Fn C:float D:while E:int F:_abc
A:char
C:float
D:while
E:int
(填空)
使用组建中的“____”命令对程序源代码进行处理,主要是检查有没有语义或语法方面的错误。
编译
(填空)
使用“____”链接命令,系统将已生成的.obj文件链接生成.exe命令文件。
组建
(填空)
编译预处理命令以字符____号开头。
#
(填空)
如果小写字母“x”是常量数据,在对变量赋值时,要用一对____引号引起来。
单
(填空)
下面是将大写字母转换为小写字母的程序源代码:
main()
{ int c; /定义变量类型/
c=’B’; /变量赋值/
printf(“ c=%c\n”, c);
printf(“ c=%d\n the small letter is %c\n”, c,c____);
}
上面程序执行后,输出结果为
c=B
c=66
the small letter is b
+32
(判断题)
无符号位的短整型变量,存放最大值的十进制数为65535。
正确
(填空)
Char字符变量占内存空间为____个字节。
1
(填空)
int短整型变量占内存空间为____个字节。
2
(多选题) 常用C语言整型常量对应有\_\_\_\_。 A:十进制数 B:八进制数 C:带小数的实数 D:十六进制数
A:十进制数
B:八进制数
D:十六进制数
(判断题)
定义变量后不用对变量赋值,可直接使用。
错误
(判断题)
初始化定义的变量可直接使用。
正确
使用前变量已赋值。
(判断题)
不同类型数据混合运算时,运算结果数据的类型取其较长数据类型。
正确
程序运算时按较长数据类型转换。
(判断题)
假使整型、单精度和字符型数据混合运算,最后运算结果的数据类型是double双精度。
正确
程序执行时单精度转双精度运算是系统自动转换。
(判断题)
如果”=”赋值运算两侧数据类型不一致,系统无法进行类型转换。
错误
系统会自动进行类型转换。
(判断题)
C语言赋值运算符“=”之前再加上其它二目运算符,可构成复合赋值运算。
正确
复合赋值运算用于二元运算的计算结果需赋值给变量。
(判断题)
.除”()”等初级运算符之外,单目运算符优先级别最高
正确
单目运算符的运算优先级高于多目运算符。
(判断题)
强制类型转换会改变已定义变量的类型
错误
不会改变已定义变量类型。
(多选题)
C程序设计的基本算术运算有____。
A:加法运算符 B:减法运算符 C:乘法运算符 D:除法运算符 E:逻辑运算符 F:求余运算符 G:关系运算符
A:加法运算符 B:减法运算符 C:乘法运算符 D:除法运算符 E:逻辑运算符 F:求余运算符
(判断题)
逗号表达式运算值取是最后逗号后表达式的值。
正确
正确
是整个逗号表达式运算结果。
(判断题)
逗号运算符的优先级别最低。
正确
属多目运算符。
(判断题)
关系运算表达式只有成立或不成立两种逻辑值。
正确
只有真假两种逻辑值。
(判断题)
关系运算中”==”或”!=”优先级别相对较低。
正确
低于其他关系运算符。
(判断题)
逻辑非”!”运算的优先级要高于其他逻辑运算。
正确
“!”运算优先级高于其他逻辑运算。
(判断题)
只要”&&”前面表达式值为0,则其后表达式不再计算 。
正确
“短路”规则。
(判断题)
条件运算符构成条件运算也称三目运算。
正确
需要有3个运算对象。
(判断题)
条件运算最终结果取决于”?”前面表达式值。
正确
取决于运算符”?”前面”表达式1”的值。
(单选题)
下面字符常量值表示不正确是___。(注,都带有单引号)
A:E B:\107 C:\x3D D:\108 E:69
D:\108
八进制没有数字8这个值。
(单选题)
____是用十六进制数表示ASCII字符的正确形式。
A:0xA6
B:\128
C:\x37
D:256
C:\x37
十六进制表示ASCII字符正确形式为\xnn,n为十六进制数。
(单选题)
当a=1;b=2;c=3时,表达式a 〉b&&(c=a+5)运算后,c的值为____。
A:2
B:3
C:4
D:5
B:3
a〉b运算已使整个表达式不成立。
(单选题)
以下C语言转义字符表示不正确的是____。
A:’\’
B:’\n’
C:’\x1f’
D:’0101’
D:’0101’
除’0101’外,其他都是正确转义字符。
(单选题)
以下C语言描述中,优先级最高的运算符是____。
A:〈=
B:=
C:%
D:&&
%算术求余运算符
(单选题)
计算(a=(2,3,4))表达式后, a+1的值是____。
A:2
B:3
C:4
D:5
D:5
a赋值为4。
(单选题)
表达式’6’!=6的计算值是____。
A:true
B:6
C:1
D:0
C:1
字符’6’的ASCII值不是6,使表达式成立。
(单选题)
如果执行int x=10;则表达式x+(char)1/2.0运算值的数据类型是____。
A:int
B:double
C:float
D:unsigned
B:double
常数2.0是浮点类型常数,计算时会自动转换为double型。
(单选题)
以下C语言常量不正确的是____。
A:32L
B:0x41
C:345
D:058
D:058
八进制数没有数字8。
(单选题)
若执行int a=1,b=2,c=3;则以下值为0的表达式是____。
A:a||b
B:a!=b
C:!((a+b)!=c-1)
D:(a+1==b)||(b=c-1)
C:!((a+b)!=c-1)
根据运算符优先级别,表达式((a+b)!=c-1) 值为真。
(多选题) 八进制数,其正确的表示形式是\_\_\_\_。 A:\105 B:227 C:0xFF D:\203 E:\318
A:\105
D:\203
(多选题)
C语言定义内存变量数据类型时,可确定变量的____。
A:正负数转换 B:存放数据的取值范围 C:存放时间 D:存储空间大小 E:存放固定位置
B:存放数据的取值范围
D:存储空间大小
(填空题)
float单精度变量,以____个字节为一个存储单元。
4
(填空题)
定义无符号短整型数据类型(unsigned short int)变量,其二进制的____位全部用作表示数据值。
16
短整型占2个字节,无符号位,16位都为数据位。
(填空题)
执行int s=6;则计算(s%2+(s+1)%2)表达式值为____。
1
由于s%2=0,(s+1)%2=(6+1)%2=1,所以表达式计算值为1。
(填空题)
执行int a;则计算(a=25/3%3)表达式后,a值为____。
2
由于”/”和”%”的优先级一样,按照从左到右的规则,25/3=8,8%3=2,所以值为2。
(填空题) 如果有定义: int a=7; float x=2.5, y=4.7; 则表达式(x+a%3*(int)(x+y)/4)的计算值是\_\_\_\_。
3.500000
由于有浮点类型混合运算时都向高精度方向转换,a%3=1;int(x+y)/4=7/4=1;所以x+1*1=2.500000+1=3.500000。
(填空题)
用3位二进制表示信息数据,其最____值二进制数为111。
大
3位最大二进制值为111。
(填空题)
int a=14,b=15,x;
char c=’A’;
x=(a!=b-1)||(c==’B’);
printf(“x=%d”,x);
执行该程序段后,实际运行输出结果为____。
x=0
表达式(a!=b-1)和(c==’B’)都不成立,实际运行输出结果为x=0。
(填空题)
字符____“AB”在内存中占3个字节。
串
该字符串在内存中的存储是A、 B 、\0 各占一个字节。
(填空题)
int x=11;
printf(“(x++1/3)=%d\n”,x++1/3 );
输出结果为____。
(x++*1/3)=3
先使用x,再自增,11*1等于11,然后11/3结果3。
(单选题) 下面列出的赋值表达式语句,不正确的是\_\_\_\_。 A: b=a/b*c; B: a=6; C:d=a<b; D: x=x%x; E: a*e=2; F: c=getchar(); G:n=sin(x);
E: a*e=2;
赋值表达式只能对变量赋值。
(单选题) 正确使用的函数调用语句形式为\_\_\_\_。 A:fabs() B:putchar() C:getch(); D:getchar(C); E:getche()
getch();
(单选题) 正确使用的表达式语句形式为\_\_\_\_。 A:m=m*n B:c=b=3*5+sin(x); C:c=9 D:x*y-e=8;
B:c=b=3*5+sin(x);
(单选题) 以下属于C语言正确赋值表达式的是\_\_\_\_。 A:d=3+e+7 B:d=4+e,e++ C:d=5+e=d D:d=e++=d+2
d=3+e+7
(单选题) 下面用作单个字符输出的函数为\_\_\_\_。 A:getchar() B:puts() C:putchar() D:gets()
putchar()
(单选题)
main()
{int a=5;
printf(“\na=%d”,++a+2);
}
输出结果是____。
A:a=6
B:a=8
C:a=5
D:8
a=8
(单选题)
下列程序段正确的数据输入形式是____。
main()
{int i,j,k;
scanf(“%d,%3d%d”,&i,&j,&k);
printf(“%d,%d,%d\n”,i,j,k);
}
A:12345678
B:123,*45678
C:123,456,78
D:123,45678
123,45678
(多选题)
putchar(x)函数中的x参数可以是____。
A:字符变量 B:字符值函数 C:字符常量 D:ASCII控制字符 E:浮点实型变量 F:ASCII码值 G:逻辑值常量
A:字符变量
C:字符常量
D:ASCII控制字符
F:ASCII码值
(多选题)
下面能正确处理单个字符的函数是____。
A:getchar(); B:getche(); C:gets(‘E’); D:putchar(‘S’); E:puts(A); F:getch();
A:getchar();
B:getche();
D:putchar(‘S’);
F:getch();
(填空题)
正确输入输出unsigned short int变量最大值,以十进制表示为____。
65535
(填空题)
正确输入输出signed short int变量最大正数值,以十进制表示为____。
32767
(填空题)
空语句命令的执行标志为____。
;
(填空题)
.gets()是有关____数据输入处理的函数。
字符串
(填空题)
printf()中按整型数据实际长度输出的控制字符为%____。
d
(填空题)
printf()函数中以长整型输出数据的转换控制字符为%____。
ld
(填空题)
printf()函数中以十六进制输出无符号整数的转换控制字符为%____。
x
(填空题)
printf()函数中输出无符号类整型数据的转换控制字符为%____。
u
(填空题)
printf()函数中输出字符串的转换控制字符为%____。
s
(填空题)
printf()函数中输出回车操作的转换控制符为____。
\n
(单选题)
若变量c为char类型,能正确判断出c为小写字母的表达式是____。
A:’a’<=c<=‘z’
B:c>=‘a’||c<=‘z’
C:c>=‘a’&&c<=‘z’
D:a<=c&&z>=c
c>=‘a’&&c<=‘z’
(单选题)
以下表示方法不正确的语句结构是____。
A:if(x>y);
B:if(x=y)&&(x!=0)x+=y;
C:if(x!=y)scanf(“%d”,&x);else scanf(“%d”,&y);
D:if(x<y){x++;y++;}
if(x=y)&&(x!=0)x+=y;
(单选题)
下列关于switch语句和break语句的描述中,只有____是正确的。
A:break是switch语句中的一部分
B:在switch 语句中必须使用break语句
C:在switch 语句中可根据需要使用或不使用break语句
D:以上三种说法有两个是正确的
C:在switch 语句中可根据需要使用或不使用break语句
(单选题)
若输入B,以下程序的运行结果为____。
main()
{char grade;
scanf(“%c”,&grade);
switch(grade)
{case ‘A’: printf(“>=85”);
case ‘B’:
case ‘C’: printf(“>=60”);
case ‘D’: printf(“<60”);
default : printf(“error”);
}
}
A: >=85
B:>=60
C:>=60<60error
D:error
C:>=60<60error
(单选题)
程序算法实验与分析。执行以下程序段时,从键盘上输入9,则输出结果是____。()
int x;
scanf(“%d”,&x);
if(x–<6) printf(“%d”,x);
else printf(“%d”,x++);
A:11
B:10
C:9
D:8
D:8