国家二级C语言机试(选择题)模拟试卷595
选择题
1.程序流程图中带有箭头的线段表示的是( )。(C)
A. 图元关系
B. 数据流
C. 控制流
D. 调用关系
解析:在程序流程图中:①标有名字的带箭头线段表示控制流;②矩形表示加工步骤;③菱形表示逻辑条件。
2.以下叙述中错误的是( )。(C)
A. 函数的return语句中可以没有表达式
B. 用户定义的函数中若没有return语句,则应当定义函数为void类型
C. 用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值
D. 用户定义的函数中可以没有return语句
解析:用户定义的函数有两种:一种是没有返回值的函数,函数类型必须为void;另一种是有返回值的函数。在没有返回值的函数中可以没有return语句;如果在没有返回值的函数中有return语句,该语句必须不带任何表达式;用户定义的函数可以有多个return语句,但是只能返回一个函数值。
3.有以下程序:
#include <stdio.h>
main()
{
char a=’H’;
a=(a>=’A’&&a<=’Z’)?(a+32):a;
printf(”%c\n”,a);
}
程序运行后的输出结果是( )。(A)
A. h
B. H
C. A
D. a
解析:条件表达式的形式为:表达式l?表达式2:表达式3,计算“表达式1”的值,若为“真”,取“表达式2”的值作为整个条件表达式的值;若为“假”,取“表达式3”的值作为整个条件表达式的值。字符参与运算时一般计算其ASCII码,并且一个字母的小写﹣大写=32(ASCII码),该程序将大写字母转成对应的小写字母。
4.以下叙述中正确的是( )。(B)
A. 函数调用时,不必区分函数名称的大小写
B. 调用函数时,函数名必须与被调用的函数名完全一致
C. 函数名允许用数字开头
D. 在函数体中只能出现一次return语句
解析:调用函数的时候只有保证调用语句的函数名和被调函数的函数名、参数列表一致才能保证调用的正确性,故B选项正确。C语言对大小写敏感,故A选项错误。用户自定义的函数名需要遵循用户标识符的命名规则,由字母、数字、下划线组成并且第一个字符不能为数字,故C选项错误。一个函数每次只能使用一个return语句,但是该函数体中可以有多个返回点,也就是有多条return语句,每次只从其中一点返回,故D选项错误。
5.以下叙述中正确的是( )。(B)
A. 循环嵌套时,如果不进行缩进形式书写代码,则会有编译错误
B. 三种循环for,while,do-while可以互相嵌套
C. for语句的圆括号中的表达式不能都省略掉
D. 循环发生嵌套时,最多只能两层
解析:循环发生嵌套时,没有规定层数;循环嵌套时,书写代码时没有要求必须缩进;for语句的圆括号中的表达式都可以省略掉。
6.计算机完成一条指令所花费的时间称为一个( )。(D)
A. 执行速度
B. 执行时序
C. 存取周期
D. 指令周期
解析:一般把计算机完成一条指令所花费的时间称为一个指令周期。指令周期越短,指令执行就越快。
7.若有以下定义:
struct tt{
char name[10];char sex;
}aa={\\(A)
A. scanf(”%C”,aa.sex);
B. aa.sex=getchar();
C. printf(”%c\n”,(*p).sex);
D. printf(”%c\n”,p﹣>sex);
解析:sex是一个char类型变量,不是地址,A项应为scanf(”%c”,&aa.sex);。
8.有以下程序:
#include <stdio.h>
main()
{
int i,j,k,a=5,b=6;
i=(a==b)?++a:﹣﹣b;
j=a++;k=b;
printf(”%d,%d,%d\n”,i,j,k);
}
程序运行后的输出结果是( )。(B)
A. 7,6,5
B. 5,5,5
C. 7,5,5
D. 5,6,5
解析:i=(a==b)?++a:﹣﹣b;中先执行a==b,为否,根据三元运算符语法规则,执行﹣﹣b,此时b为5,赋给i,i=5;j=a++,将a=5先赋给j,再进行a++,k=b=5,故最后输出的是5,5,5。
9.以下各项中,不是C语言字符型或字符串常量的是( )。(C)
A. ”It’s”
B. ”0”
C. ’a=0’
D. ’\010’
解析:C选项是一个赋值表达式。AB选项是字符串常量,D选项是字符型常量。
10.下列数据结构中,能够按照“先进后出”原则存取数据的是( )。(B)
A. 循环队列
B. 栈
C. 队列
D. 二叉树
解析:栈是按“先进后出”的原则组织数据的;队列是按“先进先出”的原则组织数据的,故本题答案为B选项。
11.以下叙述中正确的是( )。(A)
A. 计算机只接收由0和1代码组成的二进制指令或数据
B. 计算机只接收由0和1代码组成的十进制指令或数据
C. 计算机可直接接收并运行C源程序
D. 计算机可直接接收并运行任意高级语言编写的源程序
解析:二进制数中只有两个字符0和1,表示具有两个不同稳定状态的元器件。例如,电路中有无电流,有电流用1表示,无电流用0表示。类似的还比如电路中电压的高低,晶体管的导通和截止等。二进制数运算简单,大大简化了计算中运算部件的结构,故A选项正确。
12.有以下程序
#include <stdio.h>
main()
{
int a=﹣1,b=﹣1;
for(;++a;)++b;
printf(”%d%d\n”,a,b);
}
程序运行后的输出结果是( )。(A)
A. 0 ﹣1
B. 0 0
C. ﹣1 ﹣1
D. 结果不确定
解析:其中++a是判断条件,并且是a先自增1,再参与运算。a初值为﹣1,经++a后,a值为0,0相当于false,判断条件不成立,跳过for循环后面的语句++b,直接执行printf语句,所以最后输出a的值为0,b的值没变,还是﹣1。
13.有以下程序:
#include <stdio.h>
int fun(int x,int y)
本文档预览:3600字符,共8925字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载