当前位置:文档之家› 自考高级语言程序设计复习题

自考高级语言程序设计复习题

2013年海南省衔接课程考试高级语言程序设计复习题一、单项选择题(在每小题列出的四个选项中只有一个是符合题目要求的,请将其代码填在题后的括号内。

错选或未选均无分。

)1、在以下给出的表达式中,与while E中的E不等价的表达式是()。

A)(!E=0) B)(E>0||E<0) C)(E==0) D)(E!=0)2、若x和y是代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是()。

A)abs(x-y)<10 B)x-y>-10&&x-y<10C) @(x-y)<-10||!(y-x)>10 D)(x-y)*(x-y)<1003、以下能够正确判断char型变量c是否为大写字母的表达式是()。

A) (‘A’<=c)AND (‘Z’>=c) B)(‘A’<=c)& (‘Z’>=c)C)(‘A’<=c) && (‘Z’>=c) D)以上答案都不对4、下列叙述正确的是()。

A) break语句只能用于switch语句B)在switch语句中必须使用defaultC) break语句必须与switch语句中的case配对D)在switch语句中,不一定使用break语句5、以下选项中,不能看作一条语句的是()。

A){ ;} B)a=0,b=0,c=0; C) if(a>0); D)if(b==0) m=1;n=2; 6、以下程序段中与语句k=a>b?(b>c?1:0):0)功能等价的是()。

A) if(a>b&&(b>c)) k=1; B) if(((a>b)||(b>c)) k=1;else k=0; else k=0;C)if(a<=b) k=0; D)if(a>b) k=1;else if(b<=c) k=1; else if(b>c) k=1;else k=0;7、若有以下程序:main(){ int y=10;while(y--);printf(“y=%d\n”,y);}程序运行后的输出结果是()。

A)y=0 B)y=-1 C)y=1 D)while构成无限循环8、有以下程序段:int n,t=1,s=0;scanf(“%d”,&n);do{s=s+t; t=t-2;}while(t!=n);为使程序不陷入死循环,从键盘输入的数据应该是( )。

A)任意正奇数 B)任意负偶数 C) 任意正偶数 D)任意负奇数9、有以下程序:main(){ int a[]={2,4,6,8,10},y=0,x,*p;p=&a[1];for(x=1;x<3;x++)y+=p[x];printf(“%d\n”,y);}程序运行后的输出结果是()。

A) 10 B) 11 C) 14 D)1510、在C语言中,引用数组元素时,其数组下标的数据类型允许是()。

A)整型常量 B)整型表达式C)整型常量或整型表达式 D)任何类型的表达式11、以下正确函数定义形式是()。

A)double fun(int x,int y) B) double fun(int x;int y)C) double fun(intx,int y); D) double fun(int x,y);12、以下不正确的说法是()。

A)实参可以是常量、变量或表达式B)形参可以是常量、变量或表达式C)实参可以为任意类型D)形参应与其对应的实参类型一致13、C语言规定,函数返回值类型是由()。

A)return语句中的表达式类型所决定的B)调用该函数时的主调函数类型所决定C)调用该函数时系统临时决定D)在定义该函数时所指定的函数类型所决定14、若有语句:char * line[5];以下叙述正确的是()。

A)定义line是一个数组,每个数组元素是一个类型为char的指针变量B) 定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C) 定义line是一个指针数组,语句中的“*”号称为取地址运算符D) 定义line是一个指向字符型函数的指针15以下一维数组a的正确定义是()。

A) int a(10); B) int n=10,a[n];C) int n; D) #define SIZE 10;s canf(“%d”,&n); int a[SIZE];int a[n];16. 以下叙述正确的是()。

A. 在C程序中,main函数必须位于程序的最前面B. C程序的每一行只能写一条语句C. C语言本身没有输入输出语句D. 在对一个C程序进行编译的过程中,可发现注释中的拼写错误17.’\101’代表()个字符。

A. 1B. 3C.4D. 6518. 表达式(float)(5%3/4)的结果为()。

A. 0.0B. 0.5C. 0.25D. 表达式不合法19. C语言用()表示逻辑“真”的值。

A.trueB. t 或yC. 非零整数值D.整数020.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()。

A.7 B. 8 C. 6 D. 221.在C语言中,要求运算数必须是整型的运算符是()。

A. /B. ++C. !=D. %22.以下能正确计算1×2×3×···×10的程序是()A. do { i=1;s=1;B. do {i=1;s=0;s=s+i; s=s+i;i++; i++;} while(i<=10); } while(i<=10);C. i=1;s=1;D. i=1;s=0;do do{s=s+i; { s=s+i;i++; i++;} while(i<=10); } while(i<=10);23.在C语言中,引用数组元素时,其数组下标的数据类型允许是()A. 整型常量B. 整型表达式C. 整型常量或整型表达式D. 任何类型的表达式24.若x为整型变量,则以下程序段将输出()。

X=253; printf(“%-2d”,x);A. 25B. 253C. 域宽不够,不输出D.-2525.若a为实型变量,则以下程序段将输出()。

a=2.379; printf(“%.2f”, a);A. 2.38B. 2.379C. 0.38D. 2.426.通过scanf(“a=%d,b=%d”,&a,&b);使a获得初值3,b获得初值4,则输入数据的形式应为()。

A. 3 4B.3,4C.a=3 b=4D. a=3,b=427.语句while(!e)中的条件!e等价于()。

A.e==0B.e!=1C. e!=0D.~e28.以下for循环是()。

for(x=0,y=0;(y!=123)&&(x<4);x++);A. 无限循环B.循环次数不定C.执行4 次D.执行3次29.C语言规定,函数返回值类型是由()。

A.return语句中的表达式类型所决定的B.调用该函数时的主调函数类型所决定C.调用该函数时系统临时决定D.在定义该函数时所指定的函数类型所决定30.若用数组名作为函数调用的实参,传递给形参的是()。

A.数组的首地址B.数组第一元素的值C.数组中全部元素的值D.数组元素的个数31.在宏定义#define PI 3.14159中,用宏名代替一个()。

A.常量B.单精度数C.双精度数D.字符串32.下面的函数定义正确的是()。

A.float f(float x; float y) B.float f(float x,y){ return x*y;} { return x*y;}C.float f(x,y) D.float f(int x,int y){ int x,y; { return x*y;}return x*y; }33. 以下对一维数组a进行正确初始化的是()。

A.int a[10]=(0,0,0); B.int a[10]={};C.int a[]:={0}; D.int a[10]={10*2};34. 以下程序段()。

x=-1;do {x=x*x}while(!x);A.是死循环B.循环招行2次C.循环执行一次D.有语法错误35. 以下程序的输出结果是( )。

#include <stdio.h>main(){ int i;for(i=1;i<=5;i++){if(i%2) printf(“*”);else continue;printf(“#”);}printf(“$\n”);}A.*#*#*#$ B.#*#*#*$ C.*#*#$ D.#*#*$36、C语言中对一般微机系统而言,int 类型数据占()个字节;A) 1 B) 2 C) 4 D)837、以下合法的整型常量是()。

A)087 B)-4u C) 0xfaH D) 30L38、’\101’代表()个字符。

A)1 B)3 C)4 D)6539、以下关于运算符优先级的描述中,正确的顺序是()。

A)算术、逻辑、关系、赋值B)算术、关系、逻辑、赋值C)关系、逻辑、算术、赋值D)算术、逻辑、赋值、关系40、表达式(float)(5%3/4)的结果为()。

A)0.0 B)0.5 C) 0.25 D)表达式不合法41、C语言中,运算对象必须是整型数的运算符是()。

A) / B) % C)%和/ D)*42、为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。

A)缩排位置相同的if B)在其之前未配对的ifC)在其之前未配对的最近的if C)同一行上的if43、C语言用()表示逻辑“真”的值。

A)true B)t 或y C) 非零整数值D)整数044、若x为整型变量,则以下程序段将输出()。

X=253; printf(“%-2d”,x);A)25 B)253 C)域宽不够,不输出D)-2545、若a为实型变量,则以下程序段将输出()。

A=2.379; printf(“%.2f”, a);A) 2.38 B) 2.379 C) 0.38 D) 2.446、通过scanf(“a=%d,b=%d”,&a,&b);使a获得初值3,b获得初值4,则输入数据的形式应为()。

A)3 4 B)3,4 C)a=3 b=4 D) a=3,b=447、语句while(!e)中的条件!e等价于()。

A)e==0 B)e!=1 C) e!=0 D)~e48、以下for循环是()。

for(x=0,y=0;(y!=123)&&(x<4);x++);A) 无限循环B)循环次数不定C)执行4 次D)执行3次49、若有说明:int a[3][4];则对a数组元素的非法引用是 DA) a[0][2*1] B) a[1][3] C) a[4-2][0] D) a[0][4]50 若用数组名作为函数调用的实参,传递给形的是()。

相关主题