重庆科技大学计算机专业期末考试试卷
一、单项选择题(本大题共20小题,每小题2分,共40分。在每小题给出的四个备选项中,选出一个正确的答案,请将选定的答案填涂在答题纸的相应位置上。)
1.以下关于变量的作用域说法正确的是( ) [单选题] *
A.全局变量的作用范围仅限于其所在的文件 |
B.形式参数的作用范围仅限于本函数(正确答案) |
C.在函数内复合语句中定义的变量在本函数内有效 |
D.在不同函数中不能定义同名变量 |
2.调用fopen()函数时,不需要的信息是()。 [单选题] *
A.文件的打开方式 |
B.需要打开的文件名 |
C.文件指针 |
D.文件的大小(正确答案) |
3.判断char型变量ch是否为大写字母的正确表达式是( ) [单选题] *
A.(ch>=’A’)&&(ch<='Z'(正确答案) |
B.(‘A’<=ch)AND('Z'>=ch) |
C.(ch>=’A’)&(ch<='Z' |
D.’A’<=ch<=' Z' |
4.已知:int a[10],*p=a,以下对数组元素的引用正确的是( )。 [单选题] *
A.*(p+2)(正确答案) |
B.a[p] |
C.p[a] |
D.p+2 |
5.以下叙述中正确的为()。 [单选题] *
A.编译预处理命令只能位于源程序的开头 |
B.源程序中编译预处理命令以"#"开头(正确答案) |
C.编译预处理就是对源程序进行初步的语法检查 |
D.编译预处理功能仅包括宏定义和文件包含 |
6.执行以下程序:int a;float b;scanf(“a=%d,b=%f”,&a,&b);,欲将28和2.8分别赋给a和b,正确的输入方法是() [单选题] *
A.28 2.8 |
B.a=28,b=2.8(正确答案) |
C.a=28 b=2.8 |
D.28,2.8 |
7.下面程序的运行结果为()。
#include<stdio.h>
void main()
{
int n=0;
while(n++<=2);
printf("%d\n",n);
} [单选题] *
A.3 |
B.语法错误 |
C.4(正确答案) |
D.2 |
8.设有定义:int k=0; 以下选项的四个表达式中与其他三个表达式的值不相同的是( ) [单选题] *
A.k+1 |
B.++k |
C.k++(正确答案) |
D.k+=1 |
9.已知 int a=5,b=6,c=3;,以下语句中执行结果与其他3个不同的是( ) [单选题] *
A.if(a>b) {c=a,a=b,b=c;} |
B.if(a>b) c=a,a=b,b=c; |
C.if(a>b) c=a;a=b;b=c;(正确答案) |
D.if(a>b) {c=a;a=b;b=c;} |
10.以下叙述错误的是( ) [单选题] *
A.函数调用可以作为一条独立的语句 |
B.若函数有返回值,则需要通过return语句 |
C.函数形参值的改变一定会影响到其所对应的实参(正确答案) |
D.C程序必须由一个或多个函数组成 |
11.关于函数声明,不正确的说法是( ) [单选题] *
A.如果调用之前已在主调函数外部进行了函数声明,则调用时不必再做函数声明 |
B.如果函数定义出现在函数调用之前,则可以省略函数声明 |
C.自定义函数在调用之前 ,必须进行函数声明,否则编译会出错(正确答案) |
D.标准库函数只需要包含相应的头文件即可,不需要再进行函数声明 |
12.已知:int i=5,j;j=f(&i);则以下函数f的返回值是( )
int f(int *p)
{
return *p;
} [单选题] *
A.不确定的值 |
B.形参p中存放的值 |
C.一个整数(正确答案) |
D.形参p的地址值 |
13.以下程序段,while循环的执行次数是()。
#include<stdio.h>
void main()
{
int i=0;
while(i<9)
{
if(i<1) continue;
if(i==4) break;
i++;
}
} [单选题] *
A.8 |
B.3 |
C.2 |
D.死循环(正确答案) |
14.已知:int i,j=7,*p=&i;则与i=j;等价的语句为()。 [单选题] *
A.i=*p; |
B.i=&j; |
C.i=* *p; |
D.*p=j;(正确答案) |
15.下列运算符优先级最高的是 ( ) [单选题] *
A.!= |
B. |
C.+(正确答案) |
D.&& |
16.合法的数组说明语句是( ) [单选题] *
A.int a[]="string"; |
B.char a="string"; |
C.char a[]={ '0', '1', '2', '3', '4', '5'};(正确答案) |
D.int a[5]={0,1,2,3,4,5}; |
17.对赋值语句int b[10]={1,2,3,4,5};的正确理解是( ) [单选题] *
A.将5个初值依次赋给b[0]至b[4](正确答案) |
B.将5个初值依次赋给b[5]至b[10]; |
C.将5个初值依次赋给b[1]至b[5] |
D.由于数组长度与初值的个数不相同,所以此语句不正确。 |
18.以下格式控制符不是输出整数的是() [单选题] *
A.%c(正确答案) |
B.%u |
C.%o |
D.%x |
19.以下关于float型变量和double 型变量的描述,不正确的是( ) [单选题] *
A.double型变量更常用(正确答案) |
B.double型变量精度更高 |
C.double型变量占用的存储空间更大 |
D.double型变量的取值范围更大 |
20.下面有关for循环的正确描述是()。 [单选题] *
A.for循环的循环体可以包含多条语句,但必须用花括号括起来(正确答案) |
B.for循环只能用于循环次数已经确定的情况 |
C.for循环是先执行循环体语句,后判断条件表达式 |
D.for循环中,不能用break语句跳出循环体 |
二、程序阅读题(本大题共5小题,每小题6分,共30分。请将程序的运行结果填写在答题纸的相应位置上。)
1._____________________
main( )
{ int a=10, y=0;
do
{ a+=2; y+=a;
if (y>50) break;
} while (a<14);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论