2014《C语言》模拟试题及答案(经典)
一、单选题
1. C语言中基本数据类型有 。C
A) 整型、实型、逻辑型 C) 整型、实型、字符型
B)整型、字符型、逻辑型 D)整型、实型、字符型、逻辑型
2. 在C语言中,数字O29是一个 。A
A) 八进制数 B) 十进制数 C) 十六进制数 D) 非法数 3. 在以下关于C语言的不严格的叙述中,错误的说法是 。A
A) 在标识符中,大写字母和小些字母的意义相同 B) 有些不同类型的变量可以在一个表达式中运算
C) 在赋值表达式中等号 “=”左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义 4. 下列关于C语言用户标识符的叙述中正确的是 。B
A)用户标识符中可以出现下划线和中划线(减号) B)用户标识符中不可以出现中划线,但可以出现下划线
C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头 D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头
【解析】考查C语言中的用户标识符规则,在C语言程序设计中,用户标识符是由字母、数字和下划线组成的,并且第一个字符必须是字母或下划线。
5. 结构化程序设计方法中有三种基本控制结构,以下不正确的是 。D A) 顺序结构
B) 选择结构
C) 循环结构
D) 数组结构
6. C语言提供的合法关键字是 。D A) swicth
B) cha
C) Case
D) default
7.以下非法的赋值语句是 C
A) n=(i=2,++i); B)j++; C) ++(i+1); D)x=j>0; 【解析】对表达式不能进行自加自减运算。
8.在以下一组运算符中,优先级最高的运算符是 。 A) <=
B) = C) % D) &&
1
【解析】C语言常用的积累运算符的优先级关系是:逻辑非“!”>算术运算符>关系运算符>逻辑与“&&”>逻辑或“||”>赋值运算符>逗号运算符。由于C选项为求余运算符,所以本题正确答案为C选项。
9. 以下四个选项中不能看作一条语句的是 。D A) {; } B) a=0,b=0,c=0; C) if(a>0)
D) if(b==0)m=1;n=2;
【解析】C语言的基本语句包含控制语句、表达式语句、空语句、复合语句、函数调用语句。
控制语句:完成一定的控制功能,C语言有9种控制语句,分别是if-else、while、continue、 switch、return、for、do-while、break、goto;
表达式语句:由各类表达式构成,后面加上一个分号,就可以单独作为一条语句出现在一行,多数情况下含赋值运算符。
复合语句:由一对大括号将一组语句序列括起来形成一个程序段,经常出现在选择或循环语句中。
空语句:只有一个分号,表示什么也不做。
函数调用语句:由函数名、圆括号内加实参表和分号组成。
本题中D选项为三条语句,一条控制语句,链条表达式语句。正确答案为D选项。 10. 能将高级语言编写的源程序转换为目标程序的软件是 。D
A) 汇编程序
B) 编辑程序
C) 解释程序
D) 编译程序
11.以下选项中合法的实型常数是 。C
A) 5E2.0
B) E-3
C) .2E0
D) 1.3E
【解析】以指数形式表示实数时,字母e或E之前必须有数字,且e后面指数必须为整数。 12.依据C语言的语法规则,下列合法标识符是 A
A)Else B)else C)user$2 D)5_examp
【解析】标识符的定义有明确的规则:(1)标识符只能由字母、数字、下划线三者构成;(2)标识符的首字符必须是字母或者下划线;(3)标识符命名对字母大小写敏感;(4)标识符定义不能和C语言关键字(Key Words)相同。C语言中标识符对大小写敏感,sum和SUM是不同的标识符。
13.以下选项中合法的用户标识是 。B
A) long
B) _2Test
C) 3Dmax
D) A.dat
【解析】选项中A为保留字;选项C没有以字母或者“_”开头;选项D中不能有“.”
2
14.在C语言中,字符型数据在内存中的存储形式是 。D
A) 原码
B) 补码
C) 反码
D) ASCII码
【解析】数据在内存中是以二进制形式存放的。数值是以补码表示的。c的char数据属于基本类型,在内存中字符的存储实际上是把字符相对应的ASCII代码放到存储单元中的。而这些ASCII代码值在计算机中也是以二进制形式存放的。这个与整型的存储很相似。因此这两类之间的转换也比较方便!整型:一个正数的补码和其原码的形式相同。而负数的补码方式是将其绝对值的二进制形式“按位求反再加1”; 实型:在内存中占4个字节,是按照指数形式存储的,实型数据分为小数部分和指数部分,分别存放!计算机用二进制表示小数部分,用2的幂次来表示指数部分!
15.以下非法的赋值语句是 。C
A) n=(i=2,++i); B) j++;
C) ++(i+1);
D) x=j>0;
【解析】对表达式不能进行自加自减运算。
16.已定义c为字符型变量,则下列正确的赋值语句是 。D
A) c='66';
B) c=\
C) c=\
D) c=66;
17.已知小写字母的ASCII码为97,对于int a=99, b='b'; printf(“%c,%d”, a , b);的结果是 。B
A) 99, b
B) c, 98
C) 99, 98
D) c, b
【解析】字符类型变量用char来定义,特别要注意字符数据在内存中的存储方式:字符数据在内存中是用字符对应的ASCII码存储,其存储形式实质是采用整数形式,由于ASCII码集合中有256个字符,因此用0~255这个范围内的256个整数分别与每个字符对应。因此字符型数据和整型数据在一定范围(0~255)内,形式上可以相互引用。表现在这两种类型的变量能够以对方形式常量来赋值,以对方的形式来输出,还可以同时出现在算数表达式中参与运算
int n='a'; /*相当于n=97*/
char c=65; /*相当于c='A',A的ASCII码是65*/ printf(\输出:c=97,n=a*/ printf(\输出:n=65,n=A*/
虽然字符型数据和整型数据在一定范围内可以通用,但其外在表现形式并不影响各自的数据类型,上例中n本质上还是整型变量,c本质上还是字符型变量。
3