单项选择==================================================题号:1482执行以下程序段后,输出结果和a的值是()。 int a=10; printf("%d",a++);A、11 和 10B、11 和 11C、10 和 11D、10 和 10答案:C题号:2100已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是A、65,66B、A,BC、65,68D、A,68答案:A题号:5055相同结构体类型的变量之间,可以()。A、比较大小B、地址相同C、赋值D、相加答案:C题号:3217int a[10];合法的数组元素的最小下标值为()。A、1B、0C、10D、9答案:B题号:45能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是A、a>=0 | a<=10B、a>=10 or a<=0C、a>=10 && a<=0D、a>=10 || a<=0答案:D题号:157main(){int x=1,a=0,b=0;switch (x){ case 0: b++;case 1: a++;case 2: a++;b++;} printf("a=%d,b=%d",a,b);}该程序的输出结果是( )A、2,2B、2,1C、1,1D、1,0答案:B题号:4784设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()。A、不确定B、doubleC、intD、float答案:B题号:1647以下程序中,while循环的循环次数是______main(){int i=0;while(i<10){if(i<1) continue;if(i==5) break;i++;}}A、死循环,不能确定次数B、6C、4D、1答案:A题号:191若有说明语句:char c='72';则变量c()。A、说明不合法,c的值不确定B、包含3个字符C、包含1个字符D、包含2个字符答案:C题号:1300下列程序运行结果为:#define P 3#define S(a) P*a*amain(){int ar;ar=S(3+5);printf("n%d",ar);}A、192B、25C、29D、27答案:C判断==================================================题号:6755若i =3,则printf("%d",-i++);输出的值为 -4。答案:错误题号:6167表达式 (j=3, j++) 的值是4.答案:错误题号:1495C语言中只能逐个引用数组元素而不能一次引用整个数组。答案:正确题号:2921参加位运算的数据可以是任何类型的数据。答案:错误题号:2691若有 int i=10,j=2;则执行完i*=j+8;后ⅰ的值为28。答案:错误题号:464若 a=3,b=2,c=1 则关系表达式"(a>b)==c" 的值为"真"。答案:正确题号:66若有 # define S(a,b) a*b 则语句 area=S(3,2); area的值为6。答案:正确题号:758若有宏定义:#define S(a,b) t=a;a=b;b=t由于变量t没定义,所以此宏定义是错误的。答案:错误题号:2158#define 和printf 都不是C语句。答案:正确题号:5102关系运算符<= 与 == 的优先级相同。答案:错误填空==================================================题号:1076表达式3.5 + 1 / 2的计算结果是_____。答案:空 1:3.5题号:551请写出以下程序的输出结果_____。main(){ int a = 100;if( a > 100) printf(“%dn”, a > 100);else printf(“%dn”, a <= 100);}答案:空 1:1题号:3255表达式(int)((double)(5/2)+2.5)的值是_____.答案:空 1:4题号:2472阅读下面程序,程序执行后的输出结果为_____。#include "stdio.h"main(){char a,b;for(a=′0′,b=′9′;a<b;a++,b--)printf("%c%c",a,b);printf("\n");}答案:空 1:0918273645题号:937以下程序段的输出结果是_____。int i = 0, sum = 1;do{ sum += i++;} while( i < 5);printf(“%dn”, sum);答案:空 1:11题号:5213以下程序段的输出结果是_____、_____、_____、_____、_____。int x = 0177;printf(“x = %3d, x = %6d, x = %6o, x = %6x, x = %6un”, x, x, x, x, x);答案:空 1:x = 127空 2:x = 127空 3:x = 177空 4:x = 7f空 5:x = 127题号:3210以下程序的输出结果是_____。main(){ int a = 3, b = 2, c = 1;c -= ++b;b *= a + c;{ int b = 5, c = 12;c /= b * 2;a -= c;printf(“%d, %d, %d, ”, a, b, c );a += --c;}printf(“%d, %d, %dn”, a, b, c);}答案:空 1:2,5,1,2,3,-2题号:4474当计算机用两个字节存放一个整数时,其中能存放的最大十进制整数是_____、最小十进制整数是_____,它们的二进制形式是_____。答案:空 1:65535空 2:-32768空 3:1111 1111 1111 1111,1000 0000 0000 0000题号:2791结构化程序由_____、_____、_____三种基本结构组成。答案:空 1:顺序空 2:条件分支 【或】 选择空 3:循环题号:561阅读下面程序,程序执行后的输出结果是_____。#include "stdio.h"main(){int x,y,z;x = 1; y = 2; z = 3;if(x>y)if(x>z)printf("%d",x);else printf("%d",y);printf("%d\n",z);}答案:空 1:3程序设计==================================================题号:2660#include <stdio.h>#include"conio.h"void bky();int fun(int k){}main(){int m;printf("Enter m: ");scanf("%d", &m);printf("nThe result is %dn", fun(m));bky();}void bky(){FILE *IN,*OUT;int s ;int t;int o;IN=fopen("in.dat","r");if(IN==NULL){printf("Read FILE Error");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("Write FILE Error");}for(s=1;s<=5;s++){fscanf(IN,"%d",&t);o=fun(t);fprintf(OUT,"%dn",o);}fclose(IN);fclose(OUT);}示例代码:int a=0,b=0;while((k>=2)&&(b<10)){if((k%13==0)||(k%17==0)){a=a+k;b++;}k--;}return a;题号:5854C语言中不可以嵌套的是()。A、选择语句B、循环语句C、函数调用D、函数定义答案:D题号:1957C语言中,逻辑"真"等价于A、非零的整数B、大于零的整数C、非零的数D、大于零的数答案:C题号:3786用户定义的函数不可以调用的函数是()。A、本文件外的B、main函数C、本函数下面定义的D、非整型返回值的答案:B题号:1764以下叙述中正确的是 ()。A、C程序中注释部分可以出现在程序中任意合适的地方B、分号是C语句之间的分隔符,不是语句的一部分C、花括号“{“和”}”只能作为函数体的定界符D、构成C程序的基本单位是函数,所有函数名都可以由用户命名答案:A题号:299下面四个选项中,均是不合法的浮点数的选项是()。A、-e3 .234 1e3B、160. 0.12 e3C、123 2e4.2 .e5D、-.18 123e4 0.0答案:C题号:6131假定所有变量均已正确定义,下列程序段运行后x的值是()。k1=1;k2=2;k3=3;x=15;if(!k1) x--;else if(k2) x=4;else x=3;A、15B、14C、3D、4答案:D题号:3208若变量已正确定义,以下程序段的输出结果是x=5.16894;printf(“%fn”, (int)(x*1000+0.5)/(float)1000);A、5.17000B、输出格式说明与输出项不匹配,输出无定值C、5.168000D、5.169000答案:D题号:5043以下选项中合法的实型常数是()。A、5E2.0B、1.3EC、E-3D、.2E0答案:D题号:5608有以下程序main(){ int i;for(i=0; i<3; i++)switch(i){ case 1: printf("%d", i);case 2: printf("%d", i);default : printf("%d", i);}}执行后输出结果是A、011122B、120C、012020D、012答案:A题号:572对以下说明语句 int a[10]={6,7,8,9,10}; 的正确理解是()。A、将5个初值依次赋给a[1]至a[5]B、将5个初值依次赋给a[6]至a[10]C、因为数组长度与初值的个数不相同,所以此语句不正确D、将5个初值依次赋给a[0]至a[4]答案:D判断==================================================题号:1325若有说明int c;则while(c=getchar());是正确的C语句。答案:正确题号:3386若有int ⅰ=10, j=0;则执行完语句if (j=0)ⅰ+ +; else ⅰ- -; ⅰ的值为11。答案:错误题号:464若 a=3,b=2,c=1 则关系表达式"(a>b)==c" 的值为"真"。答案:正确题号:2316while和do…while循环不论什么条件下它们的结果都是相同的.答案:错误题号:2989char c[]="Very Good"; 是一个合法的为字符串数组赋值的语句。答案:正确题号:5034语句scanf("%7.2f",&a);是一个合法的scanf函数。答案:错误题号:2067如果想使一个数组中全部元素的值为0,可以写成int a[10]={0*10};答案:错误题号:5263x*=y+8 等价于 x=x*(y+8)。答案:正确题号:3862如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准。答案:正确题号:3558整数 -32100可以赋值给int型和long int型变量。答案:正确填空==================================================题号:551请写出以下程序的输出结果_____。main(){ int a = 100;if( a > 100) printf(“%dn”, a > 100);else printf(“%dn”, a <= 100);}答案:空 1:1题号:1575对以下数学式,写出三个等价的C语言表达式是_____、_____、_____答案:空 1:a/c/b 【或】 a/(b*c) 【或】 a/b/c空 2:a/c/b 【或】 a/b/c 【或】 a/(b*c)空 3:a/b/c 【或】 a/c/b 【或】 a/(b*c)题号:1076表达式3.5 + 1 / 2的计算结果是_____。答案:空 1:3.5题号:2758若x为double型变量,请写出运算x = 3.2, ++x后表达式的值_____和变量的值_____。答案:空 1:4.2空 2:4.2题号:582以下程序的执行结果是_____。main(){int k=8;switch(k){case 9: k+=1;case 10: k+=1;case 11: k+=1; break;default: k+=1;}printf("%d\n",k);}答案:空 1:9题号:2868若要通过以下语句给a、b、c、d分别输入字符A、B、C、D,给w、x、y、z分别输入10、20、30、40,正确的输入形式是_____。请用<CR>代表Enter键。scanf(“%d%c%d%c%d%c%d%c”, &w, &a, &x,&b, &y, &c, &z, &d);答案:空 1:10A20B30C40D<CR>题号:4063以下程序段的输出结果是_____、_____、_____、_____double a = 513.789215;printf(“a = %8.6f, a = %8.2f, a = %14.8f, a = %14.8lfn”, a, a, a, a);答案:空 1:a = 513.789215空 2:a = 513.79空 3:a = 513.78921500空 4:a = 513.78921500题号:5076以下程序的输出结果是_____。main(){ int a=0;a+=(a=8);printf("%d\n",a); }答案:空 1:16题号:5410以下程序的执行结果是_____。main(){int a, b, *p = &a, *q = &b;a = 10;b = 20;*p = b;*q = a;printf(“a = %d, b = %dn”, a, b);}答案:空 1:a = 20, b = 20题号:6975以下程序的输出结果是_____。main(){ int x = 2;while ( x-- );printf(“%dn”, x);}答案:空 1:-1程序设计==================================================题号:58#include "string.h"#include <stdio.h>void bky();void change(char str[]){}main(){void change();char str[40];gets(str);change(str);puts(str);bky();}void bky(){FILE *IN,*OUT;char i[200];IN=fopen("in.dat","r");if(IN==NULL){printf("Read FILE Error");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("Write FILE Error");}fscanf(IN,"%s",i);change(i);fprintf(OUT,"%sn",i);fclose(IN);fclose(OUT);}示例代码:int i;for(i=0;str[i]!='


