. . . . .下载可编辑. 测试题3 1.C语言中不合法的字符常量是 C A、’\65’ B、’\xff’ C、’\028’ D、’&’ 2.具有相同类型的指针变量p与数组a,不能进行的操作是(C)。 A、p=&a[0]; B、p=a; C、p=&a; D、*p=a[0]; 3.若有x=22,y=26,z=0;,则执行下面语句后,z的输出结果是(B ) z=x>y?x:y A、72 B、26 C、48 D、22 4.对于建立函数的目的,正确的说法是 D A、提高程序的执行效率 B、减少程序的篇幅 C、减少程序文件所占的内存 D、提高程序的可读性 5.有定义:char*p1,*p2;则下列表达式中正确合理的是 C A、p1/=5 B、p1+=5 C、p1=&p2 D、p1*=p2 6.以下程序的运行结果是(B)。 main() { int i=1,sum=0; while(ij共执行了多少次 C #includemain() { int i = 0, j = 10, k = 2, s = 0; for( ; ; ) { i += k; if(i > j) { printf(“%d\n”, s); break; } s += i; } } A、4 B、8 C、6 D、7 10.下列各m的值中,能使m%3==2&&m%5==3&&m%7==2为真的是(D)。 A、8 B、17 C、6 D、23 11.下面判断正确的是(D)。 A、char *a="china";等价于 char *a;*a="china"; B、char str[10]={"china"};等价于char str[10];str[]={"china"}; C、char c[4]="abc",d[4]="abc";等价于 char c[4]=d[4]="abc"; D、char *s="china";等价于 char *s;s="china"; 12.设 b的值为二进制数, b表达式(b>>2)/(b>>1)的值是(A)。 A、0 B、2 C、8 D、4 13.以下叙述正确的是(A)。 A、用do-while语句构成的循环,在while后的表达式为零时结束循环 B、do-while语句构成的循环只能用break语句退出. C、do-while语句构成的循环不能用其它语句构成的循环来代替. D、用do-while语句构成的循环,在while后的表达式为非零时结束循环. 14.以下正确的说法是(D)。 A、如果形参与实参类型不一致,以实参类型为准 B、return后边的值不能为表达式 C、定义函数时,形参的类型说明可以放在函数体内 D、如果函数值的类型与返回值类型不一致,以函数值类型为准 15.已定义两个字符数组a,b,则以下正确的输入格式 B 是A、scanf("%s%s", &a, &b); B、scanf("%s%s", a, b); C、gets("a"),gets("b"); D、get(a, b); 16.宏定义#define PI 3.14中的宏名PI代替 C A、不确定类型的数 B、一个单精度实数 C、一个字符串 D、一个双精度实数 17.以下叙述中正确的是(A)。 A、C程序中注释部分可以出现在程序中任意合适的地方 B、分号是C语句之间的分隔符,不是语句的一部分 C、花括号“{“和”}”只能作为函数体的定界符 D、构成C程序的基本单位是函数,所有函数名都可以由用户命名 18.若有说明:int a[3][4];则数组a中各元素(A)。 A、不能得到确定的初值 B、可在程序的编译或运行阶段得到初值0 C、可在程序的运行阶段得到初值0 D、可在程序的编译阶段得到初值0 19.下面四个选项中,均是不合法的用户标识符的选项是(D)。 A、_123 temp int B、A P_0 do C、float la0 _A D、b-a goto int 20.以下不能对二维数组a进行正确初始化的语句是(B)。 A、int a[][3]={{1,2},{0}}; B、int a[2][3]={{1,2},{3,4},{5,6}}; C、int a[2][3]={0}; D、int a[][3]={1,2,3,4,5,6}; 21.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的 值是(B)。 A、9 B、-12 C、6 D、-3 22.一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述 中错误的是(B)。 A、有穷性 B、有零个或多个输出 C、可行性 D、有零个或多个输入 23.下列语句中,不正确的是(C)。 A、static char a[2]={'1'}; B、static char a[2]={1,2}; C、static char a[2]={'1','2','3'}; D、static int a[2]={'1','2'}; 24.若有下列定义,则对a数组元素地址的正确引用是(D)。 int a[5],*p=a; A、*(p+5) B、*&a[5] C、*p+2 D、*(a+2) 25.若有定义:char *p1,*p2,*p3,*p4,ch; 则不能正确赋值的程序语句为(D)。 A、p4=&ch;*p4=getchar(); B、p2=(char *)malloc(1);scanf("%c",p2); C、p1=&ch; scanf("%c",p1); D、*p3=getchar(); 26.以下选项中合法的实型常数是(A)。 A、.2E0 B、E-3 C、5E2.0 D、1.3E 27.若要说明一个类型名STP,使得定义语句STP s等价于char *s, 以下选项中正确的是(A)。 A、typedef char* STP; B、typedef *char STP; C、typedef stp *char; D、typedef STP char *s; 28.sizeof(float)是(B)。 A、一种函数调用 B、一个整型表达式 C、一个不合法的表达式 D、一个双精度型表达式 29.下面程序的输出结果是 main(C) { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2)); } A、2 B、4 C、3 D、1 30.以下四个程序中,不能对两个整型值进行交换的是 D A、 B、 C、 D、 判断 1.C语言规定,必须用main作为主函数名 T 2.如果想使一个数组中全部元素的值为0,可以写成 F int a[10]={0*10}; 3.若i =3,则printf("%d",-i++);输出的值为-4 F 4.在C 语言中,此定义和语句是合法的: T enum aa{ a=5,b,c}bb;bb=(enum aa)5; 5.用fopen("file","r+");打开的文件"file"可以进行修改。 T 6.循环结构中的continue语句是使整个循环终止执行 F 7.在C语言中,对于数组的定义char a[8]="computer"是错误的. T 8.C语言本身不提供输入输出语句,输入和输出操作是由函数来 T 实现的。 9.共同体变量所占的内存长度等于最长的成员的长度。 T 10.#define 和printf 都不是C语句。 T 程序设计 1./*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:给定n个数据, 求最大值出现的位置(如果最大值出 现多次,求出第一次出现的位置即可)。 ------------------------------------------------*/ #include int station(int s[],int n) { /**********Begin**********/ /********** End **********/ } main() { int a[100],n,i,t; scanf("%d",&n); for(i=0;is[k]) k=i; return(k+1); 2./*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:求n阶方阵主、副对角线上的元素之积。 ------------------------------------------------*/ #define N 4 #include "stdlib.h" #includevoid bky(); float mul(int arr[][N]) { /**********Begin**********/ /********** End **********/ } main() { int a[N][N],i,j; for(i=0;i0.0) { 累计营业额; 输入下一笔交易额; } 输出营业额; } 记一笔交易额为变量sale,营业额为sigma。 ------------------------------------------------------*/ #include void main() { /**********ERROR**********/ float sale,sigma sigma=0.0; printf("Enter sale data.\n"); /**********ERROR**********/ scanf("%f",sale); while(sale>0.0) { /**********ERROR**********/ sigma+==sale; printf("Enter next sale data(