栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > 资讯 > 高等教育 > 考研政策

大学C语言考试题库(含答案)

大学C语言考试题库(含答案)

单项选择==================================================题号: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]!='';i++)if(str[i]>='a' && str[i]<='z')str[i]=str[i]-32;题号: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题号:53若已定义x为int类型变量,下列语句中说明指针变量p的正确语句是()。A、int *p=&x;B、int p=&x;C、*p=*x;D、int *p=x;答案:A题号:2244字符串指针变量中存入的是A、第一个字符B、字符串C、字符串的首地址D、字符串变量答案:C题号:3722下列字符数组长度为5的是A、char c[10]= {'h', 'a', 'b', 'c', 'd'};B、char b[]= {'h', 'a', 'b', 'c', 'd', ''};C、char a[]={'h', 'a', 'b', 'c', 'd'};D、char d[6]= {'h', 'a', 'b', 'c', '' };答案:C题号:2703从键盘上输入某字符串时,不可使用的函数是()。A、getchar()B、scanf()C、fread()D、gets()答案:A题号:3402以下对整型数组a的正确说明是:A、int n = 10, a[n];B、C、D、int a(10);答案:C题号:130若char a[10];已正确定义,以下语句中不能从键盘上给a数组的所有元素输入值的语句是()。A、scanf("%s",a);B、for(i=0;i<10;i++)a[i]=getchar();C、a=getchar();D、gets(a);答案:C题号:191若有说明语句:char c='72';则变量c()。A、说明不合法,c的值不确定B、包含3个字符C、包含1个字符D、包含2个字符答案:C题号:4539以下程序的输出结果是main(){ int i = 1, j = 3;printf(“%d,”, i++);{ int i = 0;i += j * 2;printf(“%d,%d,”, i, j );}pritnf(“%d,%dn”, i, j );}A、1,6,3,2,3B、2,7,3,2,3C、1,7,3,2,3D、2,6,3,2,3答案:A题号:300以下对一维整型数组a的正确说明是()。A、#define SIZE 10 (换行) int a[SIZE];B、int a(10);C、int n; scanf("%d",&n); int a[n];D、int n=10,a[n];答案:A判断==================================================题号:2691若有 int i=10,j=2;则执行完i*=j+8;后ⅰ的值为28。答案:错误题号:2067如果想使一个数组中全部元素的值为0,可以写成int a[10]={0*10};答案:错误题号:1118函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));中,含有的实参个数是5.答案:错误题号:1534C语言所有函数都是外部函数.答案:错误题号:2158#define 和printf 都不是C语句。答案:正确题号:6321循环结构中的continue语句是使整个循环终止执行答案:错误题号:2583在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量。答案:正确题号:3386若有int ⅰ=10, j=0;则执行完语句if (j=0)ⅰ+ +; else ⅰ- -; ⅰ的值为11。答案:错误题号:2998c程序总是从程序的第一条语句开始执行.答案:错误题号:5034语句scanf("%7.2f",&a);是一个合法的scanf函数。答案:错误填空==================================================题号: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题号:5171把a1、a2定义成单精度实型变量,并赋初值1的说明语句是_____。答案:空 1:float a1 = 1.0, a2 = 1.0;题号:63以下程序的输出结果是_____。#define PR(ar) printf(“ar = %d “, ar)main(){ int j, a[] = { 1, 3, 5, 7, 9, 11, 13, 15}, *p = a + 5;for(j = 3; j ; j--)switch( j ){ case 1:case 2: PR(*p++); break;case 3: PR(*(--p) );}}答案:空 1:ar=9 ar=9 ar=11题号:3255表达式(int)((double)(5/2)+2.5)的值是_____.答案:空 1:4题号:1076表达式3.5 + 1 / 2的计算结果是_____。答案:空 1:3.5题号:6547当a = 1、b = 2、c = 3时,以下if语句执行后,a、b、c中的值分别为:_____、_____、_____if(a > c)b = a; a = c; c = b;答案:空 1:3空 2:2空 3:2题号:3925阅读下面程序,则执行后程序的结果为_____。#include "stdio.h"main(){int a=0,b=0;while(a<15)a++;while(b++<15);printf("%d,%d\n",a,b);}答案:空 1:15, 16题号:4473有以下程序段:s = 1.0;for(k = 1; k <= n; k++)s = s + 1.0 / (k * (k + 1));printf(“%fn”, s);请填空,使下面的程序段的功能完全与之等同。s = 0.0;_____;k = 0;do{ s += d;_____;d = 1.0 / (k * (k + 1));}while(_____ );printf(“%fn”, s);答案:空 1:d = 1.0空 2:k++空 3:k <= n题号:6975以下程序的输出结果是_____。main(){ int x = 2;while ( x-- );printf(“%dn”, x);}答案:空 1:-1题号:4423下列程序的功能是输入一个整数,判断其是否是素数,若为素数输出1,否则输出0.请填空。main(){ int i, x, y=1;scanf("%d", &x);for(i=2; i<= _____; i++)if_____{ y=0; break;}printf("%d\n", y);}答案:空 1:x / 2空 2:!(x % i) 【或】 x % i == 0程序设计==================================================题号:788void bky();int fun(int n){}void main(){int sum = 0;sum=fun(100);printf ("sum = %dn", sum);bky();}void bky(){FILE *IN,*OUT;int i;int iIN,iOUT;IN=fopen("in.dat","r");if(IN==NULL){printf("Please Verify The Currernt Dir..it May Be Changed");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("Please Verify The Current Dir.. it May Be Changed");}for(i=0;i<5;i++){fscanf(IN,"%d",&iIN);iOUT=fun(iIN);fprintf(OUT,"%dn",iOUT);}fclose(IN);fclose(OUT);}示例代码:int i=1,sum=0;while(i<=n){sum=sum+i;i++;}return sum;题号:4662变量p为指针变量,若p=&a,下列说法不正确的是()。A、*(p++)==a++B、&*p==&aC、(*p)++==a++D、*&a==a答案:A题号:6651C语言允许函数类型缺省定义,此时函数值隐含的类型是()。A、longB、floatC、intD、double答案:C题号:6993若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是()。A、1B、2.0C、2.5D、2答案:B题号:6988以下程序的输出结果是main(){ int a = 2, b =5;printf(“a=%%d,b=%%dn”,a, b);}A、a=%2,b=%5B、a=%%d,b=%%dC、a=%d,b=%dD、a=2,b=5答案:C题号:5659若有定义int a[10],*p=a;,则p+5表示A、元素a[5]的地址B、元素a[6]的地址C、元素a[6]的值D、元素a[5]的值答案:A题号:6490若有说明:int *p,m=5,n;以下正确的程序段是()。A、scanf("%d",&n);*p=n;B、p=&n;*p=m;C、p=&n;scanf("%d",*p)D、p=&n;scanf("%d",&p);答案:B题号:6073下列程序的输出结果为()。main(){int m=7,n=4;float a=38.4,b=6.4,x;x=m/2+n*a/b+1/2;printf("%fn",x);}A、28.000000B、27.500000C、28.500000D、27.000000答案:D题号:401以下所列的C语言常量中,错误的是()。A、'72'B、0xFFC、2LD、1.2e0.5答案:D题号:1684int a=1,b=2,c=3; if(a>c)b=a;a=c;c=b;则c的值为()。A、3B、2C、不一定D、1答案:B题号:961C语言中 while 和 do-while 循环的主要区别是()。A、while的循环控制条件比 do-while的循环控制条件更严格B、do-while 的循环体至少无条件执行一次C、do-while 的循环体不能是复合语句D、do-while 允许从外部转到循环体内答案:B判断==================================================题号:3927两个字符串中的字符个数相同时才能进行字符串大小的比较答案:错误题号:51247&3+12的值是15。答案:错误题号:3721语句 printf("%f%%",1.0/3);输出为 0.333333。答案:错误题号:3862如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准。答案:正确题号:6755若i =3,则printf("%d",-i++);输出的值为 -4。答案:错误题号:4579通过return语句,函数可以带回一个或一个以上的返回值。答案:错误题号:2440int i,*p=&i;是正确的C说明。答案:正确题号:4678a=(b=4)+(c=6) 是一个合法的赋值表达式。答案:正确题号:6288十进制数15的二进制数是1111.答案:正确题号:464若 a=3,b=2,c=1 则关系表达式"(a>b)==c" 的值为"真"。答案:正确填空==================================================题号:2713以下程序段的输出结果是_____。printf(“%dn”, strlen(“sn16end”));答案:空 1:3题号:2758若x为double型变量,请写出运算x = 3.2, ++x后表达式的值_____和变量的值_____。答案:空 1:4.2空 2:4.2题号:3121若有定义:int a=8,b=5,c 执行语句c=a/b+0.4后,c的值为_____答案:空 1:1题号:4474当计算机用两个字节存放一个整数时,其中能存放的最大十进制整数是_____、最小十进制整数是_____,它们的二进制形式是_____。答案:空 1:65535空 2:-32768空 3:1111 1111 1111 1111,1000 0000 0000 0000题号:4683若从键盘输入58,则以下程序输出的结果是_____。main(){int a;scanf"%d",&a);if(a>50)printf("%d",a);if(a>40)printf("%d",a);if(a>30)printf("%d",a);}答案:空 1:585858题号:1262请写出与以下表达式等价的表达式是 A)_____B)_____。A)!(x>0) B)!0答案:空 1:x <= 0空 2:1题号: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题号:5299运用位运算,能将八进制数0125000除以4,然后赋给变量a的表达式是_____。答案:空 1:a = 0125000>>2题号:2211在C语言程序中,用关键字_____定义基本整型变量,用关键字_____定义单精度实型变量,用关键字_____定义双精度实型变量。答案:空 1:int空 2:float空 3:double程序设计==================================================题号:4003#include <stdio.h>void VV();int fun(int n){}main(){int k;k=fun(1234);printf("k=%dn",k);VV();}void VV(){FILE *IN,*OUT;int iIN,iOUT,i;IN=fopen("22.IN","r");if(IN==NULL){printf("Please Verify The Currernt Dir..it May Be Changed");}OUT=fopen("22.out","w");if(OUT==NULL){printf("Please Verify The Current Dir.. it May Be Changed");}for(i=0;i<10;i++){fscanf(IN,"%d",&iIN);iOUT=fun(iIN);fprintf(OUT,"%dn",iOUT);}fclose(IN);fclose(OUT);}示例代码:int d,k,s=0;while (n>0){d=n%10;s+=d*d*d;n/=10;}return s;题号:6991以下程序的执行结果是________.main(){ int w = 1, x = 2, y = 3, z = 4;w =( w < x ) ? x : w;w =( w < y ) ? y : w;w =( w < z ) ? z : w;printf( "%d " , w );}A、2B、4C、3D、1答案:B题号:5467若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是()。A、n=*q;B、p=q;C、p=n;D、*p=*q;答案:C题号:5820以下程序的输出结果是void prtv(int *x){ printf(“%dn”, ++*x); }main(){ int a = 25;prtv(&a);}A、24B、26C、23D、25答案:B题号:6988以下程序的输出结果是main(){ int a = 2, b =5;printf(“a=%%d,b=%%dn”,a, b);}A、a=%2,b=%5B、a=%%d,b=%%dC、a=%d,b=%dD、a=2,b=5答案:C题号:6976语句printf("abre'hi'y\boun");的输出结果是(说明:'b'是退格符)()。A、abre'hi'y\bouB、re'hi'youC、abre'hi'ybouD、abre'hi'ybou答案:B题号:166以下关于运算符优先顺序的描述中正确的是()。A、关系运算符<算术运算符<赋值运算符<逻辑运算符B、赋值运算符<逻辑运算符<关系运算符<算术运算符C、算术运算符<关系运算符<赋值运算符<逻辑运算符D、逻辑运算符<关系运算符<算术运算符<赋值运算符答案:B题号:333下列语句的结果是()。main(){ int j;j=3;printf("%d,",++j);printf("%d",j++);}A、3,4B、4,4C、4,3D、3,3答案:B题号:457设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是A、6.000000B、5.500000C、6D、6.500000答案:A题号:523若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是()。A、3.500000B、0.000000C、2.750000D、2.500000答案:D题号:855若有以下程序段:int a=3,b=4; a=a^b;b=b^a;a=a^b;则执行以上语句后,a和b的值分别是()。A、a=4,b=4B、a=3,b=3C、a=3,b=4D、a=4,b=3答案:D判断==================================================题号:1325若有说明int c;则while(c=getchar());是正确的C语句。答案:正确题号:478C语言中"%"运算符的运算对象必须是整型.答案:正确题号:2998c程序总是从程序的第一条语句开始执行.答案:错误题号:3246假设有int a[10], *p;则p=&a[0]与p=a等价答案:正确题号:2158#define 和printf 都不是C语句。答案:正确题号:1498C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。答案:正确题号:6288十进制数15的二进制数是1111.答案:正确题号:5263x*=y+8 等价于 x=x*(y+8)。答案:正确题号:2691若有 int i=10,j=2;则执行完i*=j+8;后ⅰ的值为28。答案:错误题号:5102关系运算符<= 与 == 的优先级相同。答案:错误填空==================================================题号:937以下程序段的输出结果是_____。int i = 0, sum = 1;do{ sum += i++;} while( i < 5);printf(“%dn”, sum);答案:空 1:11题号:1076表达式3.5 + 1 / 2的计算结果是_____。答案:空 1:3.5题号:1797以下程序段,要求通过scanf语句给变量赋值,然后输出变量的值。写出运行时给k输入100,给a输入25.81,给x输入1.89234时的三种可能的输入形式_____、_____、_____。int k; flaot a; double x;scanf(“%d%f%lf”, &k, &a, &x);printf(“k = %d, a = %f, x = %fn”, k, a, x);答案:空 1:100 25.81 1.8923空 2:100 25.81 1.8923空 3:100 25.81 1.8923题号: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题号:2797以下程序的输出结果是_____。unsigned fun6(unsigned num){ unsigned k = 1;do{ k *= num % 10;num /= 10;} while( num);return k;}main(){ unsigned n = 26;printf(“%dn”, fun6(n));}答案:空 1:12题号:4423下列程序的功能是输入一个整数,判断其是否是素数,若为素数输出1,否则输出0.请填空。main(){ int i, x, y=1;scanf("%d", &x);for(i=2; i<= _____; i++)if_____{ y=0; break;}printf("%d\n", y);}答案:空 1:x / 2空 2:!(x % i) 【或】 x % i == 0题号:6966设变量a的二进制数是00101101,若想通过运算a^b使a的高4位取反,低4位不变,则b的二进制数应该是_____。答案:空 1:11110000题号:3121若有定义:int a=8,b=5,c 执行语句c=a/b+0.4后,c的值为_____答案:空 1:1题号:5171把a1、a2定义成单精度实型变量,并赋初值1的说明语句是_____。答案:空 1:float a1 = 1.0, a2 = 1.0;题号:6655若表达式(a+b)>c*2&&b!=5||!(1/2)中,a、b、c的定义和赋值为Int a=3,b=4,c=2;则表达式的值为_____。答案:空 1:1程序设计==================================================题号:1124#include <stdlib.h>#include <stdio.h>#include <time.h>void fun(int a[], int n , int *max, int *d ){}void NONO ( ){FILE *fp, *wf ;int i, x[20], max , index, n = 10, j ;fp = fopen("bc06.in","r") ;if(fp == NULL) {printf("数据文件bc06.in不存在!") ;return ;}wf = fopen("bc06.out","w") ;for(i = 0 ; i < 10 ; i++) {for(j = 0 ; j < n ; j++) fscanf(fp, "%d,", &x[j]) ;fun( x, n , &max, &index);fprintf(wf, "Max=%d,Index=%dn", max, index) ;}fclose(fp) ;fclose(wf) ;}main(){ int i, x[20], max , index, n = 10;srand(time(0));for (i=0;i < n;i++) {x[i] = rand()%50; printf("%4d", x[i]) ; }printf("n");fun( x, n , &max, &index);printf("Max =%5d , Index =%4dn",max, index );NONO();}示例代码:int i,base,subscript;base=a[0]; subscript=0; for(i=1;i<n;i++) {if(a[i]>base) { subscript=i;base=a[i];}}*max=base; *d=subscript; 题号:5537有定义:char*p1,*p2;则下列表达式中正确合理的是A、p1/=5B、p1+=5C、p1=&p2D、p1*=p2答案:C题号:5257若有定义:int *p[3];,则以下叙述中正确的是()。A、定义了一个名为*p的整型数组,该数组含有三个int类型元素B、定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素C、定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针D、定义了一个基类型为int的指针变量p,该变量具有三个指针答案:C题号:6968C语言中,定义结构体的保留字是()。A、structB、unionC、enumD、typedef答案:A题号:1468设 char *s="ta17bc";则指针变量s指向的字符串所占的字节数是()。A、7B、6C、9D、5答案:B题号:5300以下程序的输出结果是main(){ int a[] = {1, 2, 3, 4}, i, x = 0;for(i = 0; i < 4; i++){ sub(a, &x); printf(“%d ”, x); }pritnf(“n”);}sub(int *s, int *y){ static int t = 3;*y = s[t]; t--;}A、4 4 4 4B、0 0 0 0C、1 2 3 4D、4 3 2 1答案:D题号:1700以下叙述正确的是:A、用do-while构成循环时,只有在while后的表达式为非零时结束循环B、do-while语句构成的循环不能用其它语句构成的循环来代替。C、用do-while构成循环时,只有在while后的表达式为零时结束循环D、do-while语句构成的循环只能用break语句退出。答案:C题号:2823对两个数组a和b进行如下初始化:char a[] = “ABCDEF”;char b[] = {‘A’,‘B’,‘C’,‘D’,‘E’,‘F’};则以下叙述正确的是A、a与b中都存放字符串B、a数组比b数组长度长C、a与b长度相同D、a与b完全相同答案:B题号:4522以下数值中,不正确的八进制数或十六进制数是()。A、-16B、0x16C、16D、0xaaaa答案:A题号:1353对于基本类型相同的两个指针变量之间,不能进行的运算是()。A、+B、<C、=D、-答案:A题号:2247执行下列语句后的结果为()。int x=3,y;int *px=&x;y=*px++;A、x=3,y=4B、x=3,y不知C、x=4,y=4D、x=3,y=3答案:D判断==================================================题号:2921参加位运算的数据可以是任何类型的数据。答案:错误题号:2316while和do…while循环不论什么条件下它们的结果都是相同的.答案:错误题号:3246假设有int a[10], *p;则p=&a[0]与p=a等价答案:正确题号:2851字符处理函数strcpy(str1,str2)的功能是把字符串1接到字符串2的后面.答案:错误题号:4703函数strlen("ASDFGn")的值是7。答案:错误题号:51247&3+12的值是15。答案:错误题号:6167表达式 (j=3, j++) 的值是4.答案:错误题号:4678a=(b=4)+(c=6) 是一个合法的赋值表达式。答案:正确题号:3721语句 printf("%f%%",1.0/3);输出为 0.333333。答案:错误题号:583若有定义和语句:int a;char c;float f;scanf("%d,%c,%f",&a,&c,&f);若通过键盘输入:10,A,12.5,则a=10,c='A',f=12.5.答案:正确填空==================================================题号:6886以下程序的执行结果是_____。#define PRINT(V) printf(“V = %dt”,V)main(){int a, b;a = 1; b = 2;PRINT(a);PRINT(b);}答案:空 1:V = 1 V = 2题号:6547当a = 1、b = 2、c = 3时,以下if语句执行后,a、b、c中的值分别为:_____、_____、_____if(a > c)b = a; a = c; c = b;答案:空 1:3空 2:2空 3:2题号:5307下列程序的执行结果是_____。int d = 1;fun(int p){ int d = 5;d += p++;pritnf(“%d “, d);}main(){ int a = 3;fun(a);d += a++;printf(“%dn”, d);}答案:空 1:8 4题号:1540以下程序的输出结果是_____。double sub(double x, double y, double z){ y -= 1.0;z = z + x;return z;}main(){ double a = 2.5, b = 9.0;printf(“%fn”, sub(b - a, a, b));}答案:空 1:15.500000题号:606以下程序段的输出结果是_____。int k, n, m;n = 10; m = 1; k = 1;while( k <= n )m *= 2;printf(“%dn”, m);答案:空 1:无输出结果 【或】 死循环 【或】 死循环无输出结果题号: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题号:1240函数体由符号_____开始,用符号_____结束。答案:空 1:{空 2:}题号:1829若k为int型变量且赋值11,请写出运算k++后表达式的值_____和变量的值_____。答案:空 1:11空 2:12题号:2493将下列数学式改写成C语言的关系表达式或逻辑表达式是 A)_____B)_____。A)a=b或a<c B)|x|>4答案:空 1:a==b || a<c空 2:abs(x)>4 【或】 x<-4 || x>4题号: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)程序设计==================================================题号:5002#include "stdio.h"#include "conio.h"float fun(float h){}main(){float m;void TestFunc();printf("Enter m: ");scanf("%f", &m);printf("nThe result is %8.2fn", fun(m));TestFunc();}void TestFunc(){FILE *IN,*OUT;int s ;float t;float 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,"%f",&t);o=fun(t);fprintf(OUT,"%8.2fn",o);}fclose(IN);fclose(OUT);}示例代码:int i;i=(int)(h*1000)%10;if(i>=5)return(int)(h*100+1)/100.0;elsereturn(int)(h*100)/100.0;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/news/1528855.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号