c计算机应用技术水平测试1(答案)
- 格式:doc
- 大小:60.00 KB
- 文档页数:13
北京地区普通高等学校非计算机专业学生计算机应用水平测试试题B 类C 程序设计一、1分单选题第26题C语言的运算符以运算对象的数目可以分为[ ]。
A单目运算符 B 单目和双目运算符C 单目、双目和三目运算符D 单目、双目、三目和四目运算符第27题运算符是有优先级的,在C语言中关于运算符优先级的叙述中只有[ ]是正确的。
A逻辑运算符高于算术运算符,算术运算符高于关系运算符B 算术运算符高于关系运算符,关系运算符高于逻辑运算符C 算术运算符高于逻辑运算符,逻辑运算符高于关系运算符D 关系运算符高于逻辑运算符,逻辑运算符高于算术运算符第28题C语言并不是非常严格的算法语言,以下关于C语言不严格性的叙述中,[ ]的说法是不对的。
A大写字母和小写字母的意义相同B 有些不同类型的变量可以在一个表达式中运算C 表达式左边变量和右边的值可以是不同类型D 同一个运算符在不同的场合可以有不同的含义第29题下列对C语言中字符数组的说法中,错误的是[ ]。
A在C语言可用字符数组存放字符串B 可以用关系运算符对字符数组中的字符串进行比较C 字符数组中的字符串可以整体输入、输出D 字符数组中的字符串可以按单个字符输入、输出第30题在C语言中,数字029 是一个[ ]。
A八进制数 B 十六进制数 C 十进制数D非法数第31题选出年龄在30到40(包括30,不包括40)之间的人,其C语言表达式应为[ ]A(年龄>=30)and (年龄<40)B (40 > 年龄>= 30)C (年龄>= 30) & (年龄<40)D (年龄>= 30) && (年龄<40)第32题若已定义a、b为整型变量,用scanf(“%d %d”,&a ,&b);语句输入a、b 的值时,不可以用[ ]作为输入的分隔符A, B 空格 C 回车 D Tab第33题若在C语言程序中使用以下的二维数组定义语句并赋以部分初值,其中不正确的定义只有[ ]。
A int a[2][3]={{4},{5,6}}B int a[2][3]={{4},{5},{6}}C int a[2][3]={4,5,6}D int a[2][3]={{4},5,6}第34题设定义了结构struct ss{float a ; int b ;};,则表达式sizeof(struct ss) 的值为[ ]A 2B 4C 6D 8第35题若i 为整型变量,表达式i=1 ,i+1 ,i++的值为[ ]。
A 1B 2C 3D 4第36题表达式3&&6&&9的值为[ ]。
A 3B 6C 9D 1第37题表达式(float)(7/2)>3.5 ?(c=2,c+2):3 ;的结果是[ ]A 2B 3C 4D 5第38题执行以下程序的输出结果显示是[ ]mian(){int x =8;float y= -2.6;printf(“%f \n”,x+y);}A 错误信息B 6C 5D 5.400000第39题若已定义char *x , y[ ]={“abcd”};则以下几个表达式中,只有[ ]的x 值和其它几个不同A x=&yB x=&y[0]C x=y[0]D x=y第40题执行以下程序的输出显示是[ ]main(){int x , a=1, b=2, c=0 ;x= - -a || b&& + +c;printf(“%d \n ” ,x );}A 1B 0C -1D 非零值第41题执行以下程序的输出显示是[ ]main(){int x=1 ,y =2;z=x+++y;printf(“%d %d %d \n”,x,y,z);}A 2 2 3B 1 2 3C 2 2 4D 1 3 4 第42题若定义了int(*pointer)[5] ,则下列说法正确的是[ ] A定义了一个指针数组pointerB 定义了一个指向5个元素的一维数组的指针变量pointerC 定义了5个指针变量D 定义了一个整型数组,名为*pointer,有五个元素第43题下列程序的输出结果是[ ]main(){int a=40 ,c[ ]={ 40 ,1,40};a+=*(c+1);printf(“%d ” ,a );}A 41B 40C 1D 81第44题执行以下程序的输出显示是[ ]main(){int a=10 ,b=0;if(a=12){a=a+1;b=b+1;}else{a=a+4;b=b+4 }printf(“%d ;%d \n” ,a , b);}A 13;1B 14;4C 11;1D 10;0第45题下列程序的输出结果是[ ]# include “stdio.h”main(){char ch[ ]={…I‟,‟B‟,‟M‟,‟\0‟,‟P‟,‟C‟,‟N‟,‟X‟, ‟T‟,‟\0‟}, *p=ch;printf(“%d \n”, strlen(p+5));}A 5B 4C 3D 9第46题C语言中while语句中的判断表达式[ ]A 可以是任意表达式B 必须是逻辑表达式C 必须是关系表达式D 必须是逻辑表达式或关系表达式第47题若已定义char *string=”acegik”;则以下表达式的值不等于‟c‟的是[ ]A *++stringB *(string+1)C *string+1D string[1]第48题执行以下程序的输出显示是[ ]main(){int i, n[4]={0,0,0,0};for(i=1 ;i<4 ;i ++){if (i= =3) break;n[i]=n[i-1]+1;}printf(“n[i-1]=%d n[i]=%d \n”, n[i-1],n[i] ) }A n[i-1]=4 n[i]=3B n[i-1]=3 n[i]=2C n[i-1]=2 n[i]=1D n[i-1]=2 n[i]=0 第49题下列程序的输出结果是[ ]main(){int a, b;a=20; b=10;a+ =a+b;a-=a-b ;printf(“%d \n”, a);}A 10B -10C 30D 0第50题C语言程序中,若对函数类型没有说明,则函数的默认类型是[ ]A voidB intC charD double第51题以下关于C语言中静态变量的说法,只有[ ]是不正确的A 静态变量每次启用时的值不变B 静态变量在数据说明时就被分配内存单元C 静态变量占用的内存要到程序运行结束才释放D 静态变量每次启用时的值就是上次退出作用域时的值第52题下列程序的输出结果是[ ]# include “stdio.h”main(){printf(“%d \n ”, EOF);}A 0B 1C -1D 出错(EOF是没有定义的标识符)第53题指出程序结束之时,i ,j ,k 的值[ ]main(){int a=10, b=5, c=5,d=5 ;int i=0 , j=0, k=0 ;for( ;a>b;++b) i ++;while(a>++c) j++ ;do k++;while (a>d++)}A i=5 j=5 k=6B i=5 j=4 k=6C i=6 j=5 k=7D i=6 j=6 k=6第54、55题下列程序的输出结果按其先后顺序是[ 54 ][ 55 ]struct s{ int a ;int b ;}data[ 4 ]={ 10 ,100 ,20 ,200 ,30 ,300 ,40 ,400 };main(){struct s *pointer = data ;printf( “%d \n”, ++pointer->a ) ;printf(“%d \n”, (++pointer)->b) ;}54 A 10 B 20 C 11 D 2155 A 100 B 200 C 101 D 201第56、57题下列程序完成的功能是将字符串a复制到字符串b,并显示这两个字符串。
请将程序补充完整。
main(){char a[100]={“I am a student.”};char b[100];char *p1, *p2;p1=a ; p2=b ;while([56]){p1=p1+1;p2=p2+1;}printf(“%s \n %s \n”,[ 57 ]);}56 A *p1!=‟\0 ‟ B *p2!=‟\0 ‟ C (*p1=*p2)!=‟\0 ‟D (*p2=*p1)!=‟ \0 ‟57 A a[ ],b[ ] B a,b C a[100],b[100]D a[0],b[0]第58~62题以下程序将输入的十进制整数n转换为b进制数,并将转换结果输出。
转换的方法是“除b取余”请将程序补充完整:void transfer(int m, int k){int aa[20],i ;for(i=0 ;m ; i++){aa[i]=[58];m/=k;}[59] printf(“%d”,[60]);}main(){ int b, n ;printf(“ \n Please enter a number and a base: \n” );scanf(“%d %d”, [61]);[62];}58 A m%k B m/k C k%m D k/m59 A for(i=1;i<20;i++) B for(i=0;i<20;i++)C for(;i;i--)D for(i;i<20;i++)60 A aa[i] B aa[i+1] C aa D aa[i-1]61 A n,b B &n,&b C &m,&k D m,k62 A call transfer(n,b) B do transfer(n,b)C transfer(n,b)D proc transfer(n,b)第63~65题下列程序是检查一个字符串是否是回文。
所谓回文即正向、反向的拼写都一样。
当是回文时,输出“yes!”。
当不是回文时,输出“no!”。
程序如下,请将程序补充完整:main(){char *p , *q ;int i , m , n , k ;printf(“Please input a string : \n”);scanf [63];n=strlen(p);m=n/2; [ 64 ]; k=0 ;for(i=0 ; i<=m ; i++ )if(*p++!=*p - -) k=1;if([ 65 ])printf(“yes! \n”);elseprintf(“no! \n”);}63 A (“%c”, p ) B (“%c”, &p ) C (“%s”, p )D (“%s” , &p )64 A q=p+n-1 B q=p+n+1 C q=p+nD q=p-n65 A k=1 B k C k= =1D k= =0三、填空题第66~70题以下是个评分统计程序。