专升本计算机(数据库技术与程序设计语言)模拟试卷4
程序阅读题
1.下列程序运行时,若输入Language Programming,则其结果是________。(注:表示按下回车键。)
#include
void main()
{
char str[30];
scanf(”%s”,str);
printf(”%s\n”,str);
}
Language
解析:C语言中通过%s在输出和输入函数中控制输出和输入字符串,且字符数组可以用来接收和表示字符串。本程序是将输入的字符串再输出,需要注意的是,由于字符数组str的长度为30,所以只能接收30个字符,题干中的输入并未超过30个字符,但输入时存在空格,输入函数会认为字符串结束,因此最终只能输出一个单词。
填空题
2.在C语言中对源程序进行编译生成的目标文件的扩展名是________。
.obj
解析:将编写好的源程序通过编译器进行编译,转换为二进制目标文件。编译过程中,对源程序及包含的头文件进行词法、语法分析检查。如果有错,那么将显示错误位置和错误类型,此时需要对源程序进行修改,直到没有错误为止。经过编译后,得到的文件是以·obj为文件扩展名的目标文件。
3.设int a=12;,语句prinff(“%d\n”,(a/3,a%3,a/10>0));的输出结果是________。
1
解析:(a/3,a%3,a/10>0)是一个逗号表达式,从左到右依次计算各个表达式的值,最后一个表达式的值为整个逗号表达式的值。由于前两个表达式并不改变变量a的值,所以在最后一个表达式中,a的值仍为12,关系表达式a/10>0的值为真,用1表示。
4.设int x=10,*p=&x;,执行语句prinff(“%d”,(*p)++);的输出结果是________。
10
解析:语句printf(“%d”,(*p)++);等价于printf(“%d”,(* p));p++;,因此先输出了x的值10,然后才进行自增。
单选题
5.C语言中程序的执行是从( )开始的。(C)
A. 程序的第一条可执行语句
B. 程序的第一个函数
C. main函数
D. 任意函数
解析:一个源程序不论由多少个文件组成,都有且只有一个main函数,即主函数,是整个程序的人口。
6.为表示关系x≥y≥z,应使用C语言表达式( )。(A)
A. (x>=y)&&(y>=z)
B. (x>=y)AND(y>=z)
C. (x>=y>=z)
D. (x>=y)||(y>=z)
解析:在C语言中,大于等于用“>=”表示,小于等于用“<=”表示,而平时所用的连续比较则应拆开,中间用“&&”连接,表示“并且”的意思。
7.关于选择结构if的执行情况,下列说法正确的是( )。(A)
A. 条件为真时执行if后面的语句
B. 条件为假时执行if后面的语句
C. 条件无论真假都执行if后面的语句
D. 条件无论真假都不执行if后面的语句
解析:简单if语句的一般形式:
if(表达式)语句;
若表达式的值为真,则执行其后的语句;若表达式的值为假,则不执行其后的语句。
8.以下程序的输出结果是( )。
#include<stdio.h>
void main()
{
int x=10,y=10;
printf(“%d,%d\n”,x–,–y);
}(D)
A. 10,10
B. 9,9
C. 9,10
D. 10,9
解析:x–表示在输出后执行x=x-1,而–y表示在输出前执行y=y-1,所以输出结果为10,9。
9.若有以下定义:
int k=7,x=12;
则能使值为3的表达式是( )。(D)
A. x%=(k%=5)
B. x%=(k-k%5)
C. x%=k-k%5
D. (x%=k)-(k%=5)
解析:%为取余运算符,%=为复合赋值运算符。四个选项的表达式涉及的运算符中,%的优先级最高,一次之,%=的优先级最低。圆括号可以改变表达式计算的先后顺序。选项A,x%=(k%=5)相当于x=x%(k=k%5),带人数值计算可得表达式的值为0。选项B,x%=(k-k%5)相当于x=x%(k-k%5),带入数值计算可得表达式的值为2。选项C,由于-和%的优先级高于%=,所以x%=k=k%5相当于x%=(k=k%5),与选项B等价,表达式的值也为2。选项D,(x%=k)-(k%=5)相当于(x=x%k)-(k=k%5),带人数值计算可得表达式的值为3。
10.下列程序段的输出结果是( )。
int a=12345;
printf(“%2d\r1”,a);(C)
A. 12
B. 34
C. 12345
D. 提示出错,无结果
解析:输出格式控制符%2d表示输出宽度为2,如果实际宽度超过了给定的宽度,那么按照实际宽度输出。a=12345,超过了给定的宽度2,应原样输出。
11.设n=10,i=4,则赋值运算n%=i+1执行后,n的值是( )。(A)
A. 0
B. 3
C. 2
D. 1
解析:+的优先级高于%=,因此n%=i+l相当于n=n%(i+1)。先计算i+l的值,即4+1=5:再计算n%5的值,即10%5=0;最后将0赋值给n。因此,执行后,n的值是0。
12.判断char型变量c1是否为小写字母的正确表达式为( )。(D)
A. ‘a’t<=c1<=‘z’
B. (c1>=a)||(c1<=z)
C. (‘a’>=c1)||(‘z’<=c1)
D. (c1>=‘a’)&&(c1<=‘z’)
解析:小写字母的范围是a~z,c1需大于等于‘a’,并且小于等于‘z’,即(c1>=‘a’)&&(c1<=‘z’)。
13.已知各变量的类型说明如下:
int i=8,k,a,b;
unsigned long w=5;
double x=1.42,y=5.2;
则下列符合C语言语法的表达式是( )。(A)
A. a+=a-=(b=4)*(a=3)
B. a=a*3=2
C. x%(-3)
D. y=float(i)
解析:选项B,不能对表达式进行赋值。选项C,取余运算符“%”的两边只能是整型数据。选项D,强制转换的格式为:(类型说明符)变量。
14.有如下程序:
#include
void main()
本文档预览:3500字符,共6275字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载