(注:若有错误,请及时反馈)
1、 以下选项中,能用作数据常量的是________。 (C)
(A)o115 (B)0118 (C)115L (D)1.5e1.5
【解析】:数据常量(数值常量):
合法的整型常量 十进制、八进制(前缀数0)和十六进制(前缀0x/0X)的整数与长整数(数的末尾加小写字母l或大写字母L);
合法的实型常量 (小数(浮点)形式(包含数与小数点)和指数形式(正确形式: aE(e)+b或aE(e)-b,其中b必须是整数,a与b都不能省)
2、 以下叙述中错误的是_____________。(A)
(A)使用三种基本结构构成的程序只能解决简单问题
(B)C语言源程序经编译后生成后缀为.obj的目标程序
(C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中
(D)结构化程序由顺序、分支、循环三种基本结构组成
3、 以下叙述中错误的是_________。(A)
A) C源程序可以直接由计算机执行
B) 结构化程序由顺序、分支、循环三种基本结构组成
C) C语言是一种结构化程序设计语言
D) 结构化程序设计提倡模块化的设计方法
【解析】结构化程序包括三大结构,顺序结构、选择结构和循环结构,并可以解决所有问题。C源程序必须经过编译生成目标文件,然后经过连接生成可执行文件。
4、 流程图是描述算法的很好的工具,一般的流程图中由几种基本图形组成。其中输入输出框的图形是_________(A)
A) 平行四边形 B) 长方形 C) 椭圆型 D) 菱形
【解析】算法可以用各种描述方法进行描述,目前最常用的有3种:伪代码、流程图和N-S结构图。传统的流程图由下图所示的几种基本图形组成。
5、 结构化程序由顺序、选择、循环三种基本结构组成,以下相关叙述错误的是_____。(D)
A) 顺序结构是按语句在程序中的先后顺序逐条执行,没有分支,没有转移
B) 选择结构是根据不同的条件执行不同分支中的语句
C) 循环结构是根据条件决定是否重复、重复执行多少次循环体语句
D) 三种基本结构不可以嵌套使用
6、 按照C语言规定的用户标识符命名规则,不能出现在标识符中的是_________。(D)
(A)大写字母 (B)下划线 (C)数字字符 (D)连接符
【解析】:C语言合法的标识符是由数字0~9、26个英文字母(大小写均可)和下划线组成的,且第一个字符是字母或下划线。合法的用户标识符不能是C语言关键字。
【解析】:C语言合法的标识符是由数字0~9、26个英文字母(大小写均可)和下划线组成的,且第一个字符是字母或下划线。合法的用户标识符不能是C语言关键字。
7、 以下选项中,合法的一组C语言数值常量是__________。(D)
(A) 0x8A 10,000 3.e5 (B) .177 4e1.5 0abc
(C) 028 .5e-3 -0xf (D) 12. 0Xa23 4.5e0
8、 以下叙述中错误的是________。(C)
(A)C语言编写的源程序,其文件名后缀可以是 .C
(B)C语言编写的函数都可以作为一个独立的源程序文件
(C)C语言编写的每个函数都可以进行独立的编译并执行
(D)一个C语言程序只能有一个主函数
【解析】C语言编写的每个函数可以被独立编译,但是除主函数外不能独立执行。
【解析】C语言编写的每个函数可以被独立编译,但是除主函数外不能独立执行。
9、 以下选项中不合法的标识符是__________。(C)
(A)printf (B)FOR (C)&&a (D)_00
【解析】本题容易错的是printf。如,printf、scanf、strcpy、main等都为函数名,也称为预定义标识符,可以用作合法的标识符。C语言确定关键字不可做用户标识符。
10、 设有定义:int x=2;,以下表达式中,值不为6的是_____________(D)
(A)x*=(1+x) (B)x*=x+1 (C)x++,2*x (D)2*x, x+=2
【解析】(A)x*=(1+x)等价于x=x*(1+x), (B)与(A)等价。(C)与(D)都是逗号表达式。逗号表达式的计算原则,从左自右依次计算,则最后一个表达式的值为整个逗号表达式和值。所以(C)先计算x++,x的值为3,再计算2*x的值,表达式x++,2*x的最终值为6 。(D)先计算2*x的值为6,再计算x+=2 的值 ,x的值为4,表达式2*x, x+=2的值为4.
11、 若有定义语句:int x=10; ,则表达式x-=x+x的值为____________(D)
(A)0 (B)10 (C)-20 (D)-10
【解析】x-=x+x等价于 x=x-(x+x)
12、 若有定义语句:int a=10;double b=3.14;,则表达式12.2+a+b值的类型是_____。(C)
(A)char (B)int (C)double (D)float
【解析】本题考查数据类型的自动转换,C语言语法规定,当不同的变量相加时按最长的变量对齐,即转换优先级为:char < int < float < double。
13、 以下选项中可用作C程序合法实数的是_________(D)
(A) E9 (B) 9.12E (C) 3.0e1.2 (D) .1e0
14、 以下叙述中正确的是___________(B)
(A) C语言程序中的注释必须与语句写在同一行
(B) 简单C语句必须以分号结束
(C) C语句必须在一行内写完
(D) C程序中的每一行只能写一条语句
15、 若变量均已正确定义并赋值,以下合法的C语言赋值语句是_________(A)
(A) x=y==5; (B) x=5=4+1; (C) x+n=i; (D) x=n%2.5;
【解析】:正确的赋值表达式要点,赋值号的左侧必须是单一的变量。赋值号的右侧可以是任意表达式,但其表达式必须是C语言中合法的表达式。选项B中5=4+1,左侧为数非法。选项C左侧为x+n为算术表达式,非法。选项D算术运算符%两侧的运算符必须为整型。
16、 设有定义
int k=0;
以下选项的四个表达式中与其他三个表达式的值不相同的是_________(B)
(A) ++k (B) k++ (C) k+1 (D) k+=1
17、 若变量已正确定义并赋值,以下不能构成C语句的选项是_______(C)
A) B++; B) A=a+b; C) a=a+b D) a=b++;
【解析】C语言规定,C语句必须以分号";"结束。没有分号,称为表达式。
18、 若有定义语句
int a=3,b=2,c=1;
以下选项中错误的赋值表达式是_____________(A)
(A)a=(b=4)=3; (B) a=1+(b=c=4);
(C) a=(b=4)+c; (D) a=b=c+1;
【解析】:选项A中(b=4)=3出错,赋值号左侧(b=4)是赋值表达式,不是单一变量。
19、 C语言源程序名的后缀是_______________(A)
(A) .c (B) .cp (C) .obj (D) .exe
20、 表达式a+=a-=a=9的值是____________(A)
(A) 0 (B) -9 (C) 18 (D) 9
【解析】:计算步骤如下图,计算过程中注意a的值也在发生变化。
21、 若有定义语句:_________________(D)
int x=12,y=8,z;
在其后执行语句 z=0.9+x/y; 则z的值为
(A) 2.4 (B) 2 (C) 1.9 (D) 1
【解析】要点:计算表达式值时的优先级,先计算x/y的值,并且x与y都是int型,所以整除整必得整。然后计算0.9+1的值。
22、 若函数中有定义语句:int k;,则________。(B)
(A)系统将自动给k赋初值0 (B)这时k中的值无定义
(C)系统将自动给k赋初值-1 (D)这时k中无任何值
【解析】用int方法定义变量时,编译器仅为变量开辟存储单元,并没有在存储单元中存放任何值,此时变量中的值是无确定的,称变量值"无意义"。
23、 有以下程序
#include <stdio.h>
main()
{ int a=0,b=0;
b=20;
printf(“a+b=%d\n”,a+b);
}
程序运行后的输出结果___________________(D)
(A)20 (B) 0 (C) a+b=0 (D) a+b=20
【解析】printf(“a+b=%d\n”,a+b);语句中,普通字符“a+b=”需原样输出。
24、 有以下程序
#include <stdio.h>
main()
{ int a;
a = (int)1.99*3;
printf("%d\n", a);
}
程序的运行结果是_______________ (A)
A) 3 B) 5 C) 6 D) 结果不确定
【解析】浮点数1.99程序设计语言一般可分为三大类被强制转换成1,执行语句a=(int)1.99*3;计算得a=1*3=3。
25、 有以下程序
#include <stdio.h>
main()
{ int a;
a = (int)1.99*3;
printf("%d\n", a);
}
程序的运行结果是_______________ (A)
A) 3 B) 5 C) 6 D) 结果不确定
26、 若有以下程序
#include <stdio.h>
main()
{ int b=10,a=-11;
a%=b%=4;
printf(“%d %d\n”,a,b);
}
则程序的输出结果是__________________(B)
(A) 1 2 (B) -1 2 (C) 1 -2 (D) -1 -2
27、 关于C语言的变量,以下叙述中错误的是____________(D)
(A) 由三条下划线构成的符号名是合法的变量名
(B) 所谓变量是指在程序运行过程中其值可以被改变的量
(C) 程序中用到的所有变量都必须先定义后才能使用
(D) 变量所占的存储单元地址可以随时改变
28、 若有以下程序 (D)
#include <stdio.h>
main()
{
int a=-11,b=10;
a/=b/=4;
printf(“%d %d\n”,a,b);
}
(A) 4 -3 (B) 5 -3 (C) -1 -2 (D) -5 2
29、 不能正确表示数学式的表达式是____________(D)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论