国家二级(C语言)机试模拟试卷485
选择题
1.结构化程序设计的基本原则不包括( )。(A)
A. 多态性
B. 自顶向下
C. 模块化
D. 逐步求精
解析:结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A。
2.下列叙述中正确的是( )。(D)
A. 栈是一种先进先出的线性表
B. 队列是一种后进先出的线性表
C. 栈与队列都是非线性结构
D. 以上三种说法都不对
解析:栈是一种先进后出的线性表,队列是一种先进先出的线性表,栈与队列都是线性结构。
3.在数据库系统的组织结构中,下列( )映射把用户数据库与概念数据库联系了起来。(A)
A. 外模式/模式
B. 内模式/外模式
C. 模式/内模式
D. 内模式/模式
解析:数据库有两层映像,即外模式,模式和模式,内模式映像。模式/内模式映像定义数据库全局逻辑结构与存储结构之间的对应关系。
4.下列叙述中错误的是( )。(A)
A. 用户所定义的标识符允许使用关键字
B. 用户所定义的标识符应尽量做到“见名知意”
C. 用户所定义的标识符必须以字母或下划线开头
D. 用户定义的标识符中,大、小写字母代表不同标识
解析:在C语言中,合法标识符的命名规则是:标识符可以由字母、数字和下划线组成,并且第一个字符必须为字母或下划线,凡是要求标识符的地方都必须按此规则命名。在C语言的标识符中,大写字母和小写字母被认为是两个不同的字符。在选择标识符时,应注意做到“见名知义”,即选择具有一定含义的英文单词或汉语拼音作为标识符,以增加程序的可读性。
5.假设有语句sizeof(double),则它是( )。(A)
A. 一个整型表达式
B. 一个双精度浮点型表达式
C. 一种函数调用
D. 一种函数定义
解析:sizeof(double)是C语言内部规定的一个计算参数(double)在计算机的内存中所占用的字节数量的函数,它返回一个整数值。
6.以下程序的输出结果是( )。
#inc1ude
main()
{int a=1,b—3;
if(++a<0)&&!(b— —<=0))
printf(\\(C)
A. 2,2
B. 1,3
C. 3,2
D. 3,1
解析:解答本题的关键在于if语句条件中的表达式。初始时“a=1,b=3”,所以“++a____2>0”,因此“Ha<0\\
7.有以下程序:
#include<stdio.h>
unsigned fun(unsigned num)
{
unsigned k=1;
do{
k*=num%10;
num/=10;
}while(num);
return k;
}
main()
{
unsigned n=26;
printf(\\(A)
A. 12
B. 10
C. 16
D. 8
解析:程序首先执行main函数,执行printf(\\
8.有以下程序:
#include
void swap(char*x,ehar*y)
{char t;
t=*x; *x=y; *y=t;
}
main()
{char*s1:“abe”,* s2=“123”;
swap(s1,s2);prinff(“%s,%s\n”,s1,s2);
}
}
程序执行后的输出结果是( )。(D)
A. 321,cba
B. abe,123
C. 123,abe
D. 1bc,a23
解析:字符串是一个特殊的数组,所以按照数组的规则,s1应该指向的是数组的首地址,即“abc”的第一个字符的地址。s2指向的是“123”的第一个字符的地址。调用swap函数之后交换的是两个字符串的第一个字符‘a’和‘1’的内容,所以打印输出为D.
9.有以下程序:
#include
#include
main()
{int*a,*b,*c;
a=b=c=(int*)malloc(sizeof(int));
*aa=1;*b=2,*c=3;
a=b;
prinff(“%d,%d,%d\n”,*a,*b,*c);
}
程序运行后的输出结果是( )。(D)
A. 1,1,3
B. 2,2,3
C. 1,2,3
D. 3,3,3
解析:malloc函数动态分配一个整型的内存空间,然后把函数返回的地址用(int:*c)强制类型转换为整型指针,再把它赋给a,b,c,即让指针变量a,b,c都指向刚申请的内存空间。所以只有最后一个赋值语句*c=3的值保留在了该空间内,因为a、b、c三个指针变量均指向该空间,所以打印该空间内的数值为3。
10.对建立良好的程序设计风格,下面描述正确的是( )。(A)
A. 程序应简单、清晰、可读性好
B. 符号名的命名只要符合语法
C. 充分考虑程序的执行效率
D. 程序的注释可有可无
解析:程序设计应该简单易懂,语句结构应该简单直接,不应该为提高效率而把语句复杂化。
11.结构化程序的三种基本控制结构是( )。(A)
A. 顺序、选择和重复(循环)
B. 过程、子程序和分程序
C. 顺序、选择和调用
D. 调用、返回和转移
解析:结构化程序设计中三种基本控制结构为顺序、选择和重复(循环),故正确答案为A。
12.有以下程序:
#include<stdio.h>
main()
{
while(getchar()!=’\n’);
}
以下叙述中正确的是( )。(C)
A. 此while语句将无限循环
B. getchar()不可以出现在while语句的条件表达式中
C. 当执行此while语句时,只有按回车键程序才能继续执行
D. 当执行此while语句时,按任意键程序就能继续执行
解析:根据程序顺序执行的次序,当程序执行到while这条语句,根据while语句中的结束循环的条件是“输入回车键时,结束循环”,所以当按回车键后,程序才执行while语句的下一条语句。
13.有以下程序:
#include<stdio.h>
int fun(char*s)
{
char
本文档预览:3600字符,共14433字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载