C语言程序设计复习题(本科)
1计算机科学与技术专业本科班C语言程序设计期末复习题2
![1计算机科学与技术专业本科班C语言程序设计期末复习题2](https://img.taocdn.com/s3/m/f702e07fdcccda38376baf1ffc4ffe473368fd10.png)
1计算机科学与技术专业本科班C语言程序设计期末复习题2《C语言程序设计》一、单项选择题(每小题2分,共60分)1、在VC 6.0环境中用RUN命令运行一个C程序时,实际所运行的程序的后缀是:A).CPP B) .C C) .OBJ D).EXE2、结构化程序设计所规定的三种基本控制结构是A) 输入、处理、输出B) 树形、网形、环形C) 顺序、选择、循环D) 主程序、子程序、函数3、以下正确的整型常量是:A) 16. B) -26 C) 1,000 D) 3 5 74、已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量‘\101’是A) 字符A B)字符a C)字符e D)非法的常量5、以下有4组用户标识符,其中合法的一组是A) For B) 4d C) f2_G3 D) WORD-sub DO IF voidCase Size abc define6、以下非法的赋值语句是A) n=(i=2,++i); B)j++; C) ++(i+1); D)x=j>0;7、C语言中运算对象必须是整型的运算符是:A) % B) / C) ! D) **8、设 a、b、c、d、m、n均为 int型变量,且 a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式 (m=a>b)&&(n=c>d)运算后,n的值位为A) 0 B) 1 C)2 D) 39、C语言中,字符(Char)型数据在微机内存中的存储形式是:A) 反码 B) 补码 C) EBCDIG 码 D) ASCII码10、以下叙述正确的是:A) C语言总是从第一个定义的函数开始执行B) 在C语言程序中,要调用的函数必须在main()函数中定义C) C语言程序总是从main()函数开始执行D) C语言程序中的main()函数必须放在程序的开始部分11、若已定义int型的三个量a、b、c,则以下正确的输入语句是:A) read(a,b,c); B) scanf("%d%d%d",a,b,c);C) scanf("%D%D%D",&a,%b,%c); D) scanf("%d%d%d",&a,&b,&c);12、以下叙述中正确的是A) C程序中注释部分可以出现在程序中任意合适的地方B) 花括号“{”和“}”只能作为函数体的定界符C) 构成C程序的基本单位是函数,所有函数名都可以由用户命名D) 分号是C语句之间的分隔符,不是语句的一部分13、以下数组定义中不正确的是A) int a[2][3];B) int b[][3]={0,1,2,3};C) int c[100][100]={0};D) int d[3][]={{1,2},{1,2,3},{1,2,3,4}};14、有以下程序fun(int x, int y, int z){ z=x*x+y*y; }main(){ int a=31;fun(5,2,a);printf(“%d”,a); }程序运行后的输出结果是A) 0 B) 29 C) 31 D) 无定值15、有以下程序main(){ char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;printf(“%d”,*--p); }程序运行后的输出结果是A) 非法 B)a[4]的地址C)5 D)316、有以下程序#define M(x,y,z) x*y+zmain(){ int a=1,b=2, c=3;print f(“%d\n”, M(a+b,b+c, c+a)); } 程序运行后的输出结果是A) 19 B) 17 C) 15 D) 1217、有以下程序main(){ int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a<b);< p="">printf("%d,%d\n",k,m); }程序运行后的输出结果是A) 0,0 B) 0,1 C) 1,0 D) 1,118、有以下程序main(){ int a=3,b=4,c=5,d=2;if(a>b)if(b>c)printf("%d",d++ +1);elseprintf("%d",++d +1);printf("%d\n",d); }程序运行后的输出结果是A) 2 B) 3 C) 43D) 44 19、与数学式子123 x nx 对应的C 语言表达式是A) 3*x^n(2*x-1) B) 3*x**n(2*x-1)C) 3*pow(x,n)*(1/(2*x-1)) D) 3*pow(n,x)/(2*x-1)20、若变量c 为char 类型,能正确判断出c 为小写字母的表达式是A) ‘a’<=c<= ‘z’ B) (c>= ‘a’)||(c<= ‘z’)C) (‘a’<=c)and (‘z’>=c) D) (c>= ‘a’)&&(c<= ‘z’)21、有以下程序main(){ char a[ ]={‘a’,‘b’,‘c’,‘d’, ‘e’, ‘f’, ‘g’,‘h’,‘\0’};int i,j;i=sizeof(a); j=strlen(a);printf(“%d,%d \b”i,j); }程序运行后的输出结果是A )9,9B )8,9C )1,8D )9,822、有以下程序#includemain(){ char *p=“abcde\Ofghjik\0”;printf(“%d \n”,strlen(p)); }程序运行后的输出结果是A) 12 B) 15 C) 6 D) 523、以下叙述中不正确的是A )C语言中的文本文件以ASC Ⅱ码形式存储数据B )C语言中对二进制文件的访问速度比文本文件快C )C语言中,随机读写方式不适用于文本文件D )C语言中,顺序读写方式不适用于二进制文件24、设有如下定义:struck sk{ int a;float b;}data;int *p;若要使P 指向data 中的a 域,正确的赋值语句是A) p=&a B) p=data.a; C) p=&data.a D) *p=data.a;25、有以下程序main(){ char *s[]={"one","two","three"},*p;p=s[1];printf("%c,%s\n",*(p+1),s[0]); }执行后输出结果是A) n,two B) t,one C)w,one D) o,two26、以下选项中,与k=n++完全等价的表达式是A) k=n,n=n+1 B) n=n+1,k=n C) k=++n D) k+=n+127、有如下程序main(){ int i,sum;for(i=1;i<=3;sum++) sum+=i;printf(“%d\n”,sum); }该程序的执行结果是A) 6 B) 3 C) 死循环 D) 028、有以下程序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) 011122 B) 012 C) 012020 D) 12029、有如下程序main(){ int x=23;do{ printf(“%d”,x--);}while(!x); }执行后输出结果是A) 321 B) 23 C) 不输出任何内容 D) 陷入死循环30、若有定义:int x,*px; 则正确的赋值表达式是:A) px=&x B) px=x C) *px=&x D) *px=*x二、填空题(每小题2分,共20分1、以下程序段的输出结果是 _______ 。
大学C语言程序设计试题含答案
![大学C语言程序设计试题含答案](https://img.taocdn.com/s3/m/4e30e7ba951ea76e58fafab069dc5022abea465a.png)
大学C语言程序设计试题含答案一、简答题1. 请简要解释什么是C语言程序设计。
C语言程序设计是一种计算机编程语言,由贝尔实验室的Dennis Ritchie在20世纪70年代早期开发。
它强调的是效率和可移植性,被广泛应用于操作系统、嵌入式系统和其他需要高效执行的应用程序开发。
2. C语言的基本数据类型有哪些?请列举并简要说明其特点。
C语言的基本数据类型包括:- int:用于表示整数,通常占用4个字节内存,可以表示范围较大的整数;- char:用于表示字符,占用1个字节内存,常用于存储ASCII码;- float:用于表示单精度浮点数,占用4个字节内存,可用于表示小数;- double:用于表示双精度浮点数,占用8个字节内存,可用于表示更大范围和更高精度的小数;- void:表示无类型,常用于函数返回类型。
3. 请解释C语言中的变量和常量的概念,并简要说明它们的区别。
变量是用于存储和表示数据的一种方式,可以根据需要改变其值。
在C语言中,变量声明需要指定其类型,并可以为变量命名,并通过赋值来存储数据。
常量是固定不变的值,不能改变其值。
在C语言中,常量可以是字面值常量(直接指定数值或字符)、符号常量(使用预处理器#define 指令定义的常量)或常量表达式(由常量组成的表达式)。
常量在程序执行过程中保持不变。
二、编程题1. 编写一个程序,输入一个整数,判断该数字是奇数还是偶数,并输出相应的提示信息。
```c#include <stdio.h>int main() {int num;printf("请输入一个整数: ");scanf("%d", &num);if (num % 2 == 0) {printf("%d是偶数。
\n", num);} else {printf("%d是奇数。
\n", num);}return 0;}```2. 编写一个程序,计算并输出1到100之间所有奇数的和。
C语言程序设计考试题(全题)
![C语言程序设计考试题(全题)](https://img.taocdn.com/s3/m/4e8daf11524de518974b7d4e.png)
福建师范大学C语言程序设计考试题系别 _______ 班级 _______ 姓名_________ 学号________ 得分__________一、选择题(本大题共40个选项,每个选择项1.5分,共60分)1.在C语言中,合法的字符常数是【1】A)‘程序设计’ B)“程序设计”C)c D)‘\\’2.在C语言中,以下不正确的八进制或不正确的十六进制数是【2】A)090 B)0xABC)0xla D)-0163.执行int x=2,y=3;后表达式x=(y==3)的值是【3】A)0 B)1C)2 D)34.执行语句int a,b,c; a=(b=c=3, c++, b+=c);则a的值是【4】A) 3 B) 4C) 7 D) 115.在循环结构的循环体中执行break语句,其作用是【5】A) 结束本次循环,进行下次循环B) 继续执行break语句之后的循环体中各语句C) 跳出该循环体,提前结束循环D) 终止程序运行【6】main(){char s[]=”\’Address\’”;printf(%d\n”, strlen(s));}A) 9 B) 10C) 11 D) 12【7】main(){int a[]={2, 4, 6, 8, 10}, y=1, x;for(x=0; x<3; x++) y+=a[x+1];printf(“%d\n”, y);}A) 17 B) 18C) 19 D) 208.已定义char x[8]; int i;为了给x数组赋值,以下正确的语句是【8】A) x[8]=”Turbo C”; B) x=”Turbo C”;C) x[]=”Turbo C”; D) for(i=0; i<7; i++) x[i]=getchar();9.设int a[][4]={0, 0};则以下错误的描述是【9】A) 数组a的每个元素都可得到初值0B) 二维数组a的第一维大小为1C) 数组a的行数为1D) 只有元素a[0][0]和a[0][1]可得到初值0,其余元素得不到初值0 【10】fun3(int x){static int a=3;a+=x;return a;}main(){int k=2, m=1, n;n=fun3(k);n=fun3(m);printf(“%d\n”, n);}A) 3 B) 4C) 6 D) 911.以下四个运算符,按优先级由高到低的排列顺序是【11】A) ++ % += > B) % ++ > +=C) % += > ++ D) ++ % > +=【12】A) 在函数外部定义的变量是全局变量B) 在函数内部定义的变量是局部变量C) 函数的形参是局部变量D) 局部变量不能与全局变量同名13.“文件包含”预处理语句的使用形式中,当#include后面的文件名用“”括起时,寻找被包含的文件的方式为【13】A) 直接按系统设定的标准方式搜索目录B) 先在源程序所在目录搜索,再按系统设定的标准方式搜索C) 仅仅搜索源程序所在的目录D) 仅仅搜索当前目录14.设有语句int(*p)();则p是一个【14】A) 指向一维整型数组的指针变量B) 指针函数,该函数的返回值为指向整型变量的指针C) 指向函数的指针变量,该函数的返回值为整型D) 数组指针,它的每个元素都是一个可以指向整型变量的指针变量15.若有typedef float AR[5];AR a;则以下叙述正确的是【15】A) a是一个新类型名B) AR是一个实型数组C) AR是一个实型变量D) a是一个实型数组【16】A)整型、实型、逻辑型B)整型、实型、字符型、逻辑型C)整型、字符型、逻辑型D)整型、实型、字符型17.在C语言中,变量所分配的内存空间大小【17】A)均为一个字节 B)由用户自己定义C)由变量的类型决定 D)是任意的18.在C语言中,合法的整型常数是【18】A)-0x123 B)3.14159 C19.下列各变量均为整型,选项中不正确的C语言赋值语句是【19】A)i+=++i; B)i=j==k;C)i=j+=i; D)i=j+1=k;≤y≤z可用C语言的表达式表示为【20】A)(x<=y)&&(y<=z) B)(x<=y)and(y<=z)C)(x<=y<=z) D)(x<=y)&(y<z)21.若定义float a;现要从键盘输入a数据,其整数位为3位,小数位为2位,则选用【21】A)scanf(“%6f”,&a); B)scanf(“%”,a);C)scanf(“%”,&a); D)scanf(“%f”,a);【22】unsigned a=0356,b;b=~a|a<<2+1;printf(“%x\n”,b);A)ffba B)ff71 C)fff8 D)fc0223.要使以下程序的输出结果为4,则a和b应满足的条件是【23】main(){int s,t,a,b;scanf(“%d%d”,&a,&b);s=t=1;if(a>0) s += 1;if(a>b) t= s + t;elseif(a==b) t=5;else t=2*s;printf(“%d\n”,t);}A)a>0并且a<b B)a<0并且a<bC)a>0并且a>b D)a<0并且a<b24.若int i;则以下循环语句的循环执行次数是【24】for (i=2;i==0;) printf(“%d”,i--);A)无限次 B)0次C)1次 D)2次【25】main(){int i;for(i=100;i<200;i++){if(i%5==0) continue;printf(“%d\n”,i);break;}}A)100 B)101C)无限循环 D)无输出结果【26】int i=1,a[]={1,5,10,9,13,7};while(a[i]<=10) a[i++]+=2;for (i=0;i<6;i++) printf(“%d”,a[i]);A)2 7 12 11 13 9 B)1 7 12 11 13 7C)1 7 12 11 13 9 D)1 7 12 9 13 7“abcde”赋初值给字符数组,不正确的语句是【27】A)char s[]=“abcde”; B)char s[]={’a’, ’b’,’c’,’d’,’e’,’\0’};C)char s[]={“abcde”}; D)char s[5]= “abcde”;28.若变量c为char类型,能正确判断出c为小写字母的表达式是【28】A) 'a'<=c<= 'z' B) (c>= 'a')||(c<= 'z')C) ('a'<=c)and ('z'>=c) D) (c>= 'a')&&(c<= 'z')【29】void fun(int *x, int *y){ printf("%d %d", *x, *y); *x=3; *y=4;}main(){ int x=1,y=2;fun(&y,&x);printf("%d %d",x, y);}A) 2 1 4 3 B) 1 2 1 2 C) 1 2 3 4 D) 2 1 1 2【30】main(){ int i, k, a[10], p[3];k=5;for (i=0;i<10;i++) a[i ]=i;for (i=0;i<3;i++) p[i ]=a[i *(i+1)];for (i=0;i<3;i++) k+=p[i] *2;printf("%d\n",k);}A) 20 B) 21 C) 22 D)2331.当执行下面的程序时,如果输入ABC,则输出结果是【31】main(){ char ss[10]="1,2,3,4,5";gets(ss); strcat(ss, "6789"); printf("%s\n",ss);}A) ABC6789 B) ABC67 C【32】A) int a[2][3]={0}; B) int a[][3]={1,2,3,4,5};C) int a[2][3]={{1,2},{3,4},{5,6}}; D) int a[2][3]={{1},{3,4,5}};33.若int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是【33】A) 2 B) 3 C) 4 D)无确定值34.下面程序段的运行结果是【34】int a[2][3]={1,2,3},i,j;for(i=0;i<2;i++)for(j=0;j<3;j++){a[i][j]=a[i*j%2][j]+a[i][(i+j)%3];printf(“%d,”,a[i][j]);}A) 2,4,6,2,0,8, B) 1,2,3,0,0,0,C) 1,2,3,2,0,6, D) 2,4,6,2,0,6,35.下面程序段的运行结果是【35】int a[][3]={1,2,3,4,5,6,7,8,9,10,11,12};printf(“%d\n”,a[2][1]);A) 2 B) 4 C) 7 D)836.定义一个结构体变量时,系统分配给它的内存大小是【36】A)各成员所需内存量的总和B)成员中占内存量最大者所需内存容量C)结构中第一个成员所需内存容量D)结构中最后一个成员所需内存容量37.若typedef char STRING[255];STRING s;,则s是【37】A)字符指针数组变量B)字符数组变量C)字符变量D)字符指针变量38.若已定义:int *p,a;,则语句p=&a;中的运算符“&”的含义是【38】A) 位与运算B) 逻辑与运算C) 取指针内容D)取变量地址39.若有定义char *p,ch;则不能正确赋值的语句组是【39】A)p=&ch;scanf(“%c”,p);B)p=(char *)malloc(1); *p=getchar();C)*p=getchar();p=&ch;D)p=&ch;*p=getchar();40.下面程序段的运行结果是【40】char s[]=“ABC”;int i;for(i=0;i<3;i++) printf(“%s”,&s[i]);A) ABC B) ABCABCABC C) AABABC D)ABCBCC1.下列叙述中正确的是A) C语言编译时不检查语法B) C语言的子程序有过程和函数两种C) C语言的函数可以嵌套定义D) C语言所有函数都是外部函数0.5 C) 2L D) '\72'3.下列选项中,合法的C语言关键字是A) V AR B) cher C) integer D) default4.设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为A) 不定值B) 4 C) 3 D) 15.下面程序段的运行结果是【5】float y=0.0,a[]={2.0,4.0,6.0,8.0,10.0},*p;int i;p=&a[1];fo r(i=0;i<3;i++) y+=*(p+i);printf(“%f\n”,y);A) 12.0000 B) 28.0000 C) 20.0000 D) 18.00006.下面程序段的运行结果是【6】char c[]={‘a’,‘b’,‘\0’,‘c’,‘\0’};printf(“%s\n”,c);A) ab c B) ‘a’‘b’C) abc D) ab7.下面程序段的运行结果是【7】char s[10],*sp=“HELLO”;strcpy(s,sp);s[0]=‘h’;s[6]=‘!’;puts(s);A) hELLO B) HELLO C) hHELLO! D) h!8.若有定义int a[3][5],i,j;(且0≤i<3,0≤j<5),则a[i][j]的地址不正确表示是【8】A) &a[i][j] B) a[i]+jC) *(a+i)+j D) *(*(a+i)+j)9.若有定义int *p[4];,则标识符p是一个【9】A) 变量的指针变量B) 指向函数的指针变量C) 指向有四个整数元素的一维数组的指针变量D)指针数组名,有四个元素,每个元素均为一个指向整型变量的指针10.若有定义char *language[]={“FORTRAN”, “BASIC”,“PASCAL”,“JA V A”, “C”};则language[2]的值是【10】A) 一个字符B) 一个地址C) 一个字符串D) 不确定11.C语言规定,函数返回值的类型由【11】所决定。
C语言程序设计复习题(含参考答案)
![C语言程序设计复习题(含参考答案)](https://img.taocdn.com/s3/m/764aee376fdb6f1aff00bed5b9f3f90f76c64dcc.png)
C语言程序设计复习题(含参考答案)C语言程序设计复习题(含参考答案)一、单项选择题(本题共30小题,每小题2分,共60分)在每小题列出的四个备选项中只有一个是符合题目要求的。
1. 以下正确的C语言自定义标识符是______。
A. _1aB. 2a_C. doD. a.122、假设所有变量均为整型,则表达式(x=3,y=4,y++, y-x`)的值是______。
A.7B.1C.6D.23. 设int a, x=2; 执行语句a=x>0?3*x:x=10; 后,变量x的值是_______。
A. 1B. 2C. 6D. 104.设有以下程序段:int x=2,y=2,z=0,a;a=++x||++y&&z++;printf("%d,%d,%d\n",x,y,z);执行后输出的结果是_________。
A. 2, 2, 0B. 3, 3,1C. 3, 2, 0D. 3, 2, 15. 在C语言中,strlen("\\TOP\t\65\"")的值是_______。
A. 5 B.7C. 8D. 126. 设float x,由键盘输入:12.45, 能正确读入数据的输入语句是_________。
A. scanf("%5f",&x);B. scanf("%5d",&x);C. scanf("%f",x);D. scanf("%s",&x);7.若有int a=5;则逗号表达式a=2*6,a*3,a+5的值是_________。
A. 12B. 17C.36 D. 108. C语言程序中,整型常量的书写形式不包括_________。
A. 二进制B. 八进制C. 十进制D. 十六进制9.下面程序的输出结果是_____。
#includemain(){ float d=2.2; int x,y;x=6.2;y=(x+3.8)/5.0;printf("%f",d*y);}A. 4B. 4.4C. 2.2D. 010. 设int x;,则与计算︱x︱等价的表达式是_________。
C语言程序设计(本科C卷及答案)(1)(1)
![C语言程序设计(本科C卷及答案)(1)(1)](https://img.taocdn.com/s3/m/6371ebf76294dd88d0d26bbb.png)
题号一二三四五六总分得分考试形式:■闭卷□开卷■笔试□机试答卷要求:试卷答案需填写至答题卡内一、单项选择题(每小题 2 分,共 30 分)1 2 3 4 5 6 7 8 9 10C D A B B A D A C C11 12 13 14 15C D A C B1、C语言源程序文件是一个后缀为( )的文件。
(第1章)A) .bas B) .java C) .c D) .pas2、下列哪个图形不属于传统流程图的符号( )(第2章)A) B) C) D)3、下列标识符中,不合法的用户标识符为()。
(第3章)A) a+4B) If C) then D) _1234、下面运算符优先级最高的是()。
(第3章)A) * B) !C) -(减号)D) =5、以下哪个是不正确的转义字符()。
(第3章)A) '\\'B) '077'C) '\0'D) '\n'6、若int n,x=1,y=0,则条件表达式n=x<y?x:y的结果为()。
(第4章)A) 0 B) 1 C) 2 D) 表达式错误7、分析以下程序, 下列说法正确的是()。
(第4章)int main(){ int i=10,m=0,n=0,k=0;switch(i/10){ case 0: m++;n++;break;case 10: n++; break;default: k++;n++; }printf("%d %d %d\n",m,n,k); }A) 0 0 0 B) 0 1 0 C) 1 1 0 D) 0 1 18、程序段如下:则以下说法中正确的是()。
(第5章)int k=-10; while(k<0) k=k+1;A) while循环执行10次B) while循环执行11次C) 循环体语句一次也不执行D) 循环是无限循环9、下列程序段执行后k值为()。
专升本c语言程序设计试题及答案
![专升本c语言程序设计试题及答案](https://img.taocdn.com/s3/m/6990fbc3b1717fd5360cba1aa8114431b90d8e80.png)
专升本c语言程序设计试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述,哪个是正确的?A. 函数可以没有返回值B. 函数不能有多个返回值C. 函数必须有返回值D. 函数不能有参数答案:A3. 在C语言中,以下哪个运算符用于计算两个整数的和?A. %B. +C. ==D. &&答案:B4. C语言中,以下哪个关键字用于定义一个指针?A. intB. floatC. charD. *答案:D5. 在C语言中,以下哪个选项是正确的注释方式?A. // 这是注释B. /* 这是注释 */C. // 这是注释/* 这是注释 */D. // 这是注释/* 这是注释 */答案:B6. 下列关于C语言数组的描述,哪个是错误的?A. 数组可以是多维的B. 数组下标从0开始C. 数组的大小在编译时确定D. 数组可以动态分配答案:D7. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. fprintfD. All of the above答案:D8. C语言中,以下哪个选项是正确的字符串定义方式?A. char str[] = "Hello";B. char str[5] = "Hello";C. char str[] = {'H', 'e', 'l', 'l', 'o'};D. All of the above答案:D9. 在C语言中,以下哪个选项是正确的条件语句?A. if (condition)B. switch (condition)C. case (condition)D. All of the above答案:A10. 下列关于C语言循环的描述,哪个是正确的?A. for循环可以嵌套B. while循环不能嵌套C. do-while循环至少执行一次D. All of the above答案:C二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确语法是:___________。
C语言程序设计(专升本)试卷附答案
![C语言程序设计(专升本)试卷附答案](https://img.taocdn.com/s3/m/618ac473a417866fb84a8eab.png)
C语言程序设计开/闭卷:闭专业测绘工程班级室主任签字:一、1、以下叙述中正确的是A) C语言比其他语言高级B) C语言可以不用编译就能被计算机识别执行C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D) C语言出现的最晚,具有其他语言的一切优点2、C语言中用于结构化程序设计的三种基本结构是A) 顺序结构、选择结构、循环结构B) if、switch、breakC) for、while、do-whileD) if、for、continue3、在一个C程序中A) main函数必须出现在所有函数之前B) main函数可以在任何地方出现C) main函数必须出现在所有函数之后D) main函数必须出现在固定位置4、下列叙述中正确的是A) C语言中既有逻辑类型也有集合类型B) C语言中没有逻辑类型但有集合类型C) C语言中有逻辑类型但没有集合类型D) C语言中既没有逻辑类型也没有集合类型5、下列关于C语言用户标识符的叙述中正确的是A)用户标识符中可以出现在下划线和中划线(减号)B)用户标识符中不可以出现中划线,但可以出现下划线C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头D)用户标识符中可以出现在下划线和数字,它们都可以放在用户标识符的开头6、以下叙述中正确的是A)构成C程序的基本单位是函数B)可以在一个函数中定义另一个函数C)main()函数必须放在其他函数之前D)C函数定义的格式是K&R格式7、应用数据库的主要目的是A)解决数据保密问题B)解决数据完整性问题C)解决数据共享问题D)解决数据量大的问题8、一个C语言程序是由A)一个主程序和若干子程序组成B)函数组成C)若干过程组成D)若干子程序组成9、请选出可用作C语言用户标识符的是A)void,define,WORDB)a3_b3,_123,IFC)FOR,--abc,CaseD)2a,Do,Sizeof10、下列各数据类型不属于构造类型的是A)枚举型B)共用型C)结构型D)数组型11、在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是A)a=20000+20000;B)a=4000*10;C)a=30000+10000;D)a=4000L*10L12、以下不正确的叙述是A)在C程序中,逗号运算符的优先级最低B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b 中的值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值13、sizeof(float)是A)一个双精度型表达式B)一个整型表达式C)一种函数调用D)一个不合法的表达式14、若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为A)4B)16C)32D)5215、设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是A)p=1;B)*q=2;C)q=p;D)*p=5;16、以下叙述中正确的是A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句C)简单C语句必须以分号结束D)C语句必须在一行内写完17、计算机能直接执行的程序是A)源程序B)目标程序C)汇编程序D)可执行程序18、以下关于宏的叙述中正确的是A)宏名必须用大写字母表示B)宏定义必须位于源程序中所有语句之前C)宏替换没有数据类型限制D)宏调用比函数调用耗费时间19、以下选项中正确的定义语句是A)double a;b; B) double a=b=7C)double a=7,b=7; D)double,a,b;20、以下不能正确表示代数式2ab/cd 的C语言表达式是A)2*a*b/c/d B)a*b/c/d*2C)a/c/d*b*2 D)2*a*b/c*d21、C源程序中不能表示的数制是A)二进制B)八进制C)十进制D)十六进制22、检查软件产品是否符合需求定义的过程称为A)确认测试B)集成测试C)验证测试D)验收测试23、数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
专升本C语言100题及答案
![专升本C语言100题及答案](https://img.taocdn.com/s3/m/bc81c5f451e2524de518964bcf84b9d528ea2c9c.png)
专升本C语言100题及答案高职升本计算机基础复材料—C语言精编100题C语言精编1题一、单选题1.由C语言编写的代码程序( )A.可直接执行B.是一个源程序D.经过编译解释才能执行C.经过编译即可执行2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( )A.大写字母B.中划线C.数字字符D.下划线3.下列选项中,不能用作标识符的是( )A. _1234_B. _1_2C. int_2_D. 2_int_4.以下选项中合法的用户标识符是( )XXX.以下不能定义为用户标识符的是( )A. MainB. _0C. _intD. sizeof6.下列定义变量的语句错误的是( )A. int _int;B. double int_;C. char For;D. float US$;7.在C语言中,合法的实型常数是( )A. 5E2.0B. E-3C. 2E0D. 1.3E8.在C语言中,合法的实型常数是( )A. 1.2E0.5B. 3.EC. 5E-3D. E159.以下选项中,不克不及作为正当常量的是( )A. 1.234e04B. 1.234e0.4C. 1.234e+4D. 1.234e010.以下不合法的数值常量是( )A. 011B. le1C. 8.0E0.5D. 0xabcd11.在C语言中,非法的字符常量是( )A.‘\t’B.‘\17’C. "\n"D.‘\xaa’12.以下不合法的字符常量是( )A.‘\018’B.‘\"’C.‘\\’1D.‘\xcc’高职升本计算机基础复材料—C语言精编100题13.以下运算符中优先级最高的运算符是()( )A. <=B. =C. %A. ==B. /C. =14.以下程序的输出结果是( )main(){ int a=3,b=4;printf("%d\n",a<=b);}A. 3B. 4C. 115.在C语言中,以下非法的表达式是( )A. 0<=x<=100B. i=j==0C. (char)(65+3)16.在C语言中,以下非法的赋值语句是( )A. j++;B. ++(i+1);C. x=j>0;A. 4.3B. 4.8C. 3.318.设有语句:int a=3;则履行了语句a+=a-=a*a;变量a的值是()A. 3B. 0C. 919.设有语句:int x=10;则履行了语句x+=x-=x-x;变量x的值是()A. 10B. 20C. 4020.以下步伐的输出成效是( )( )( )( )( )⑴main(){ int i=10,j=1;printf("%d,%d\n",i--,++j);}A. 9,2B. 10,2C. 9,1⑵main(){ int a=12,b=12;printf("%d %d\n" ,--a,++b);} A. 10 10B. 12 12C. 11 10⑶main(){ int x=023;printf("%d\n",--x);}A. 17B. 18C. 23⑷main()2D. &&D. >=D. 0D. x+1=x+1D. k=i==j;D. 3.8D. -12D. 30D. 10,1D. 11 13D. 24高职升本计算机基础复材料—C语言精编100题{ int x=10,y=10;printf("%d %d\n",x--,--y);}A. 10 10⑸main(){ int i=010,j=10;printf("%d,%d\n",++i,j--);}A. 11,10B. 9,10C. 010,9D. 10,9B. 9 9C. 9 10D. 10 921.以下程序的输出结果是( ) main(){ int x=100,y=200;printf("%d\n",(x,y)); }A. 200C. 100 200B. 100D)200 10022.以下程序的输出结果是( )main(){ int x=10,y=3,z;printf("%d\n",z=(x%y,x/y));}A. 1B. 0C. 4D. 323.int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( )A. k++B. k+=1C. ++kD. k+124.以下步伐的输出成效是( )main(){ int x,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z); }A. 2,3,3B. 2,3,2C. 2,3,1D. 2,2,125.设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( )A. 1B. 2C. 3D. 426.设int x=-1;履行表达式++x||++x||++x||++x,x的值是( )A. 0B. 1C. 2D. 427.以下步伐的输出成效是3高职升本计算机基础复材料—C语言精编100题(1) main(){ int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k);}()A. k=11,k=12,k=11C. k=11,k=013,k=0xbB. k=11,k=13,k=13D. k=11,k=13,k=b(2) main(){ int k=17; printf("%d,%o,%x\n",k,k,k); }()A. 17,021,0x11B. 17,17,17C. 17,0x11,021D. 17,21,1128.运行时从键盘上输入<CR>(<CR>表示回车),则该程序的输出结果是()main(){ int a;float b,c;scanf("XXX",&a,&b,&c);printf("a=%d,b=%f,c=%f\n",a,b,c);}A. a=98,b=765,c=4321C. a=98,b=765.,c=4321.B. a=10,b=432,c=8765D. a=98,b=765.0,c=4321.029.设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。
C语言程序设计复习题(专升本)
![C语言程序设计复习题(专升本)](https://img.taocdn.com/s3/m/8b20cdf79fc3d5bbfd0a79563c1ec5da50e2d607.png)
C语言程序设计复习题(专升本)一、填空题1、关系操作的特点是操作。
2、按照软件测试的一般步骤,集成测试应在测试之后进行。
3、软件工程三要素包括方法、工具和过程,其中,支持软件开发的各个环节的控制和管理。
4、E-mail地址由用户和域名两部分组成,这两部分的分隔符为。
5、在二维表中,元组的不能再分成更小的数据项。
6、设变量a和b已正确定义并赋初值。
请写出与a-=a+b等价的赋值表达式。
7、在DOS环境下,表示打印机的设备文件名为。
8、数据的逻辑结构有线性结构和两大类。
9、顺序存储方法是把逻辑上相邻的结点存储在物理位置的存储单元中。
10、一个类可以从直接或间接的祖先中继承所有属性和方法。
采用这个方法提高了软件的。
11.是C程序的基本单位,一个C程序总是从开始执行。
12.C语言规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或。
13.有名计较机科学家XXX提出的一个公式:数据布局+=程序14.表达式。
5的值是______。
15.下列程序段的输出结果是______。
printf("%xn"。
(0x19 <<1) & 0x17);16.下列程序段的输出结果是_____。
int k。
s;for(k=0.s=0.k<10.k++)if (s>k) break。
else s += k;printf("k=%d s=%d"。
k。
s);17.下列程序段的输出结果是_____。
define MIN(x,y)。
(x)<(y)?(x) : (y)printf("%d",10*MIN(10,15));18.下列程序在运行时可能会出错,原因是______。
includevoid main( )char *s。
gets(s)。
puts(s)。
}19.表达式1<0<5的值是。
20.表达式~(10.1^~5)的值是。
C语言程序设计1(专升本)期末考试试题及参考答案
![C语言程序设计1(专升本)期末考试试题及参考答案](https://img.taocdn.com/s3/m/038e0e2c91c69ec3d5bbfd0a79563c1ec5dad70c.png)
C语言程序设计1(专升本)期末考试试题及参考答案C语言程序设计复习题1(专升本)一、选择题1.用C语言编写的代码程序()。
A)可立即执行B)是一个源程序C)经过编译即可执行D)经过编译解释才能执行2.在C语言中,下列属于构造类型的是()A)整型B)字符型C)实型D)数组类型3.C语言中,运算对象必须是整型数的运算符是()。
A)% B)\ C)% 和\ D)**4.下列常数中,合法的C 常量是()。
A)-0. B) '105' C)'AB' D)"35"5.设整型变量a值为9,则下列表达式中使b的值不为4的表达式()。
A)b=a/2 B)b=a%2 C)b=8-(3,a-5) D)b=a>5?4:26.下列符号中,可以作为变量名的是()。
A)+c B)*X C)_DAY D)next day7.有以下程序main(){ char a,b,c,d;scanf("%c,%c,%d,%d",&a, &b, &c, &d);printf("%c,%c,%c,%c\n",a, b, c, d);}若运行时从键盘上输入:6,5,65,66。
则输出结果是()。
A)6,5,A,B B)6,5,65,66 C)6,5,6,5 D)6,5,6,68.以下叙述中错误的是()。
A)C语句必须以分号结束B)复合语句在语法上被看作一条语句C)空语句出现在任何位置都不会影响程序运行D)赋值表达式末尾加分号就构成赋值语句9. 以下叙述中正确的是()。
A)调用printf函数时,必须要有输出项B)使用putchar函数时,必须在之前包含头文件stdio.hC)在C语言中,整数可以以十二进制、八进制或十六进制的形式输出D)调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码10能正确表示逻辑关系“a≥=10或a≤0”的C语言表达式是()。
最新c语言程序设计专升本考试题库大全
![最新c语言程序设计专升本考试题库大全](https://img.taocdn.com/s3/m/88722de17e192279168884868762caaedd33baf3.png)
最新c语言程序设计专升本考试题库大全c语言程序设计专升本考试题库篇一1).若变量已正确定义并赋值,以下符合c语言语法的表达式是a.a:=b+1b.a=b=c+218.5%3d.a=a+7=c+b正确答案:b答案解析:选项a中包含一个不合法的运算符":=";选项c应改为(int)18.5%3;选项d可理解为两个表达式:a+7=c+b和a=a+7,其中第一个是错的,因为c语言规定赋值号的左边只能是单个变量,不能是表达式或常量等。
因此,正确答案是选项b,它实际上相当于a=(b=c+2),进而可分解为两个表达式:b=c+2和a=b。
2).结构化程序设计的基本原则不包括()a.多元性b.自顶向下c.模块化d.逐步求精正确答案:a答案解析:结构化程序设计方法的主要原则可以概括为:自顶向下,逐步求精,模块化和限制使用goto语句,其中不包括多态性。
3).下面选项中关于位运算的叙述正确的是()a.位运算符都需要两个操作数b.左移运算的结果总是原操作数据2倍c.右移运算时,高位总是补0d.位运算的对象只能是整型或字符型数据正确答案:d答案解析:位运算则是以位(bit)一级进行的运算,位运算符中除″~″以外,均为二元运算符,即要求两侧各有一个运算量,运算量只能是整型或字符型的数据,不能为实型数据。
其中右移时,右端(低位)移出的二进制数舍弃,左端(高位)移入的二进制数分两种情况:对于无符号整数和正整数,高位补0;对于负整数,高位补1、而左移运算在没有溢出的前提下每移动一位,相当于原数据的2倍。
4). 定义无符号整数类为uint,下面可以作为类uint实例化值的是( )a.-369b.369c.0.369d.整数集合{1,2,3,4,5}正确答案:b答案解析:uint表示的是无符号整数类,所以它的每个实例都是一个无符号整数,所以排除选项a和选项c,选项d是整数集合,所以也排除。
5).下列关于类、对象、属性和方法的叙述中,错误的是()。
C语言期末复习题
![C语言期末复习题](https://img.taocdn.com/s3/m/9cf1271bc281e53a5802ffa2.png)
本科C程序设计期末复习题一,选择1.C 语言程序中可以对程序进行注释,注释部分必须用符号__C___括起来。
A.‘{‘ 和’}’B.‘[‘和’]’C.“/*”和”*/”D.“*/”和”/*”2.C 语言程序的三种基本结构是顺序结构、选择结构和__B____结构。
A.递归B.循环 C.转移 D.嵌套3.若变量已正确定义,表达式(j=3, j++) 的值是__B___ 。
A.3B. 4C.5D.04.已知字符‘a’的ASCII码为 97 ,执行下列语句的输出是__D___。
printf ("%d, %c", ’b’, ’b’+1 ) ;A.98, bB.语句不合法C.98, 99D.98, c5.表达式strcmp(“box”, “boss”) 的值是一个___A____。
A.正数B.负数C.0D.不确定的数(答案是1,也就是正数。
strcmp是这样比较的,两个字符串,从第一个字符开始比,如果相同,继续向下比,如果不同,看这两个字符的ASCII码,如果第一个字符串的比较大,则返回1,否则返回-1。
这个题目两个字符串前面两个字符"bo"是一样的,不用看。
比较第三个字符,'x'的ASCII码是120,'s'的ASCII码是115,也就是'x'>'s',所以第一个字符串比较大,返回1)6.数组定义为 int a[3][2]={1, 2, 3, 4, 5, 6},数组元素_B____的值为6。
A.a[3][2]B.a[2][1]C.a[1][2]D.a[2][3](a[1][2]值为6,行下标从0到1,列下标从0到2,最后一个元素是a[1][2])7.要调用数学函数时,在#include命令行中应包含__C___。
A.”stdio.h”B.”string.h”C.”math.h”D.”ctype.h”8. 对于以下结构定义,++p->str中的++加在___A__。
专升本C语言历年试题及答案
![专升本C语言历年试题及答案](https://img.taocdn.com/s3/m/6a968043ae45b307e87101f69e3143323868f530.png)
专升本C语言历年试题及答案一、选择题(每题2分,共20分)1. 下面哪个选项是C语言中的关键字?A. intB. integerC. floatD. double答案:A2. C语言中,用于定义数组的关键字是?A. listB. arrayC. vectorD. set答案:B3. 在C语言中,哪个函数用于计算数组的长度?A. length()B. size()C. sizeof()D. count()答案:C4. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. ==D. =5. C语言中,用于实现循环结构的关键字是?A. loopB. repeatC. whileD. do答案:C6. 在C语言中,以下哪个选项不是标准输入输出函数?A. printf()B. scanf()C. cout()D. getchar()答案:C7. 下列哪个选项是C语言中定义函数的关键字?A. functionB. defC. voidD. int答案:C8. 在C语言中,以下哪个选项不是合法的变量名?A. _nameB. name123C. 123nameD. name$答案:C9. C语言中,用于定义指针的关键字是?B. refC. pointerD. *答案:D10. 下列哪个选项不是C语言中的预处理指令?A. #includeB. #defineC. #importD. #pragma答案:C二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确语法是:________。
答案:int variable_name;2. 如果要将一个变量的值赋给另一个变量,应该使用运算符________。
答案:=3. 在C语言中,表示逻辑与的运算符是________。
答案:&&4. 用于计算两个整数相加的函数是________。
答案:add()5. C语言中,用于定义一个函数的关键字是________。
专升本C语言程序设计《C语言程序设计》试卷1
![专升本C语言程序设计《C语言程序设计》试卷1](https://img.taocdn.com/s3/m/17b4602214791711cc7917df.png)
A)宏名不具有类型B)宏名必须大写字母表示
C)宏替换只是字符替换D)宏替换不占用运行时间
[15]设已有说明语句:inti=5,*q;,若要建立如图所示的存储结构,以下正确的赋值语句是:_
q i
A) q=i; B) *q=i; C)q=&i; D)*q=&i;
C)2*log(x)*cox(x)/3*x D)2*log(x)*cos(x)/(3*x)
[3]若有以下类型说明语句:char a; int b; flaot c; ouble d;则表达式a*b+d-c的结果类型为______
A)float B)char C)int D)double
[4]已知字母A的ASCII码为十进制数65,变量ch1为字符型,则执行语句ch1=`A`+`6`-`3`;后,ch1中的值是______
[8]下面程序所表示的函数学关系是
x=-1;if(a!=0)if(a>0)x=1;else x=0;
A) B) C) D)
[9]以下关于switch语句和break语句的描述中正确的是______
A)在switch语句中必须使用break语句
B)break语句只能用于switch语句中
C)break语句只能用于循环体中
[1]下面程序的功能是计算1-3+5-7+…-99+100的值,请填空。
main()
{int i,t=1,s=0;
for(i=1;i<=101;i+=2)
{_①__; s=s+t;__②__;}
printf(“%d\n”,s);
}
[2]以下程序的功能是:输入三个整数n1,n2,n3,按从大到小的顺序进行输出。请填空。
C语言程序设计(本科)-2020.07国家开放大学2020年春季学期期末统一考试试题及答案
![C语言程序设计(本科)-2020.07国家开放大学2020年春季学期期末统一考试试题及答案](https://img.taocdn.com/s3/m/d5d0b7d61eb91a37f0115c49.png)
试卷代号:1253国家开放大学2 0 2 0年春季学期期末统一考试C语言程序设计试题2020年7月一、单项选择题(把合适的选项编号填写在括号内。
每小题3分,共42分)1.在C语言中,一条简单语句的结束符是( )。
A.逗号B.冒号C.分号D.空格2.一个程序文件开始使用的每条预处理命令,其首字符必须是( )。
A.@ B.#C.$ D.%3.用于从键盘上为变量输入值的标准输入函数是( )。
A.printf( ) B.print( )C.scanf( ) D.output( )4.float类型的长度为( )。
B.2 A.1D.8 C.45.运算符优先级最高的是( )。
A.&& B.口C.++ D./6.设x和y均为逻辑值,则x&&y为真的条件是( )。
A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假7.在循环语句“for(i一1;i<10;i+一2)s;”中,循环体s被执行的次数为( )。
B.6A.10D.5C.48.假定有一个定义语句为“int a[10]一{3,4,2,8,6);”,则元素a[3]的值为( )。
B.2A.4D.6C.89.对于一维字符数组a[N],用来存储一个字符串的长度至多为( )。
A.N一2 B.NC,N+1 D.N-110.-个指针类型的简单变量占用内存中的字节数为( )。
B.4A.2D.16C.811.已知“int b[lo];int *pb;”,则下面不正确的赋值语句为( )。
A.pb=b;B.pb一&b[o]5C.pb=b+2;D.pb=b[5];。
《C语言程序设计》复习题
![《C语言程序设计》复习题](https://img.taocdn.com/s3/m/fb6fe3d4aeaad1f346933ff3.png)
《C语言程序设计》复习题一、判断题(本大题共60个小题)1.C程序执行的入口是main()函数,所以main函数必须放在程序的开头。
(B)2.定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。
(B)3.注释内容太多会影响程序的执行效率。
(B)4.变量要“先定义,后使用”。
(A)5.字符常量'a'与字符串常量"a"没有区别。
(B)6.数学公式y=-6xz+5[2(a-5)+3]写成C语言表达式是y=-6*x*z+5*[2*(a-5)+3]。
(B)7.数学公式y=|x|+ab-c写成C语言表达式是y=fabs(x)+a*b-c。
(A)8.表达式5/2+5.0/2+7%6 的值为5.5。
(A)9.设int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/2*(int)(a+c)/2)%4 的值为:4.5。
(B)10.设int a=12; 则表达式a/=a+a的值是0.5。
(B)11.在C语言中,运算符!比&&的优先级高。
(A)12.在C语言中,运算符的优先级最小的是逗号运算符。
(A)13.scanf("%d,%d",&x,&y);的输入格式:3,4<回车>。
(A)14.以下程序运行结果是:1,7,0 (A)void main(){int x=1,y=1,z=10;if(z< 0)if(y> 0) x=3;else x=5;printf(" %d," ,x);if(z=y< 0) x=3;else if(y==0) x=5;else x=7;printf(" %d,%d" ,x,z);}15.该程序运行结果是:BCother (A)void main(){ char x=‘B’;switch(x){case ‘A’: printf(“A”);case ‘B’: printf(“B”);case ‘C’: printf(“C”);default: printf(“other”);}}16.下面程序段运行时输出结果是a=2,b=8 (B)void main(){int x=1,y=1,a=2,b=7;switch(x){case 1: switch(y){ case 0: a++;break;case 1: b++;break;}case 2: a++;b++;break;case 3: a++;b++;}printf("a=%d,b=%d\n",a,b);}17.下面程序,当输入为:"abc?" 时,执行结果是:abc (A)void main(){ char c;c=getchar();while (c!='?' ) { putchar(c); c=getchar();}}18.该程序运行结果是:< > < > < > # (A)void main(){ int i;for(i=1;i<=5;i++){if(i%2) putchar(‘<’);else continue;putchar(‘>’);}putchar(‘#’);}19.break语句可用于循环语句和if语句中。
专升本C语言复习A卷
![专升本C语言复习A卷](https://img.taocdn.com/s3/m/06d92628cfc789eb172dc8d9.png)
《C语言程序设计》课程考试试卷 A卷一、填空題(每题2分,共16分)1.C语言是由函数构成的。
一个完整的C程序必须有且只能有一个函数。
2.C语言标识符只能由、数字和下划线组成。
3.表达式 21 % 4 的值为。
4.已知a=79.345,则表达式 (int)a 的值为。
5.已知ch='B',则表达式【(ch>='A ' && ch<='Z')? (ch+32):ch 】的值为。
6.定义符号常量PI为3.14159的语句是。
7.函数形参和调用的实参是普通变量时,参数按方式进行传递。
8.表达式 3 & 2 的值是。
二、单项选择题(每题2分,共40分)1. 下列C语言标识符中,合法的是…………………………………………………()A. ifB. returnC. 23aD. a232.欲从键盘给整型变量a赋值3,b赋值2,则对应语句【scanf("%d,%d",%a,&b); 】的输入格式是…………………………………………………………………………………()A. 3 2B. 2,3C. 2 3D. 3,23. C语言源程序文件经过C编译程序编译连接之后生成的文件后缀名是………()A. .exeB. .objC. .batD. .c4.结构化程序设计的三种基本结构是………………………………………………()A. 顺序结构、复杂结构、循环结构B. 顺序结构、复杂结构、分支结构C. 顺序结构、分支结构、选择结构D. 顺序结构、选择结构、循环结构5.以下表达式中,值为0的是………………………………………………………()A. 4%5B. 4/5.0C. 4/5D. 4<56.设下列表达式中所涉及的变量均已正确定义,则不符合C语言语法的是……()A. 4&&3B. a++C. a=b=5D. int(3.14159)7.以下程序输出的结果是……………………………………………………………()#include "stdio.h"void main(){char s[]="hello\nworld";printf("%s",s);}A. helloB. worldC. helloD. hello\nworldworld8. 以下程序输出的结果是……………………………………………………………()#include "stdio.h"void main(){char ch[]="I love Great Wall of China!";char *p=ch;printf("%c",*(p+5));}A. 5B. ofC. vD. e9.设变量定义为【int a[2]={1,3}, *p=&a[0]+1; 】,则*p的值是………………()A. 2B. 3C. 4D. &a[0]+110. 在C 语言程序中,在函数内部定义的变量称为………………………………()A. 全局变量B. 外部变量C. 全程变量D. 内部变量11. 对于以下的变量定义,正确的表达式是…………………………………………()struct node {char s[10];int k;} p[4];A. p->k=2B. p[0]->k=2C. p(0)->k=2D. p->s='a'12.若变量c为char类型,则能正确判断出c为小写字母的表达式是……………()A. (c>= 'a')||(c<= 'z')B. 'a'<=c<= 'z'C. (c>= 'a')&&(c<= 'z')D. ('a'<=c)and ('z'>=c)13.C语言中以“只读”方式打开文件,应选择的参数是……………………………()A. oB. wC. aD. r14. 设变量定义为【int a[2][3]={1,2,3,4,5,6}, *p=a[1]; 】,则p的值是……()A. 数组a的首地址B. 数组a的第1个元素的地址C. 数组a的第“1”行的首地址D. 数组a的第“1”列的首地址15.与【while((*to++=*from++)!=’\0');】语句不等价的是…………()A.while(*to++=*from++);B.for(;(*to++=*from++)!=0;);C.while((*to++=*from++)<0);D.for(;*to++=*from++;);16.用链表表示线性表的优点是……………………………………………………()A.便于随机存取B.便于插入和删除操作C.花费的存储空间较顺序存储少D.数据元素的物理顺序与逻辑顺序相同17. 结构化程序设计主要强调的是…………………………………………………()A.程序的规模B.程序设计语言的先进性C.程序的效率D.程序易读性18.以下表达式中,不正确的字符常量是…………………………………………………()A. 'n’B. "a"C. '2’D. '\101’19.若【int x=12,*p=x;】,则正确的赋值表达式是…………………………………()A. p=xB. p=*xC. *p=xD. *p=*x20. 有如下的结构体定义,则结构体变量example在内存中占用的空间为………()struct ex{ int x ; float y; char z ;} example;A. 2B. 3C. 6D. 9三、程序填分析(每题5分,共25分)1.分析下列程序,写出程序运行结果。
C语言程序设计本科C卷及答案
![C语言程序设计本科C卷及答案](https://img.taocdn.com/s3/m/949d84750242a8956aece438.png)
题号一二三四五六总分得分考试形式:■闭卷□开卷■笔试□机试答卷要求:试卷答案需填写至答题卡内一、单项选择题(每小题 2 分,共 30 分)1 2 3 4 5 6 7 8 9 10C D A B B A D A C C11 12 13 14 15C D A C B1、C语言源程序文件是一个后缀为( )的文件。
(第1章)A) .bas B) .java C) .c D) .pas2、下列哪个图形不属于传统流程图的符号( )(第2章)A) B) C) D)3、下列标识符中,不合法的用户标识符为()。
(第3章)A) a+4B) If C) then D) _1234、下面运算符优先级最高的是()。
(第3章)A) * B) !C) -(减号)D) =5、以下哪个是不正确的转义字符()。
(第3章)A) '\\'B) '077'C) '\0'D) '\n'6、若int n,x=1,y=0,则条件表达式n=x<y?x:y的结果为()。
(第4章)A) 0 B) 1 C) 2 D) 表达式错误7、分析以下程序, 下列说法正确的是()。
(第4章)int main(){ int i=10,m=0,n=0,k=0;switch(i/10){ case 0: m++;n++;break;case 10: n++; break;default: k++;n++; }printf("%d %d %d\n",m,n,k); }A) 0 0 0 B) 0 1 0 C) 1 1 0 D) 0 1 18、程序段如下:则以下说法中正确的是()。
(第5章)int k=-10; while(k<0) k=k+1;A) while循环执行10次B) while循环执行11次C) 循环体语句一次也不执行D) 循环是无限循环9、下列程序段执行后k值为()。
本科c语言程序设计考试试题及答案
![本科c语言程序设计考试试题及答案](https://img.taocdn.com/s3/m/9359426977c66137ee06eff9aef8941ea66e4b41.png)
本科c语言程序设计考试试题及答案**本科C语言程序设计考试试题及答案**一、单项选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于声明函数?A. intB. returnC. voidD. function答案:C2. 在C语言中,以下哪个是正确的字符串声明?A. char str[10] = "Hello";B. char str = "Hello";C. char str[] = "Hello";D. char str[10] = 'Hello';答案:C3. 下列哪个选项是C语言中的合法整型常量?A. 012B. 0x1AC. 0b1010D. 0.1答案:B4. C语言中,以下哪个运算符用于逻辑与?A. &&B. ||C. !D. |答案:A5. C语言中,以下哪个函数用于计算并返回字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A6. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A7. C语言中,以下哪个是正确的数组声明?A. int array[];B. int array[10] = {0};C. int array = 10;D. int array = {0};答案:B8. C语言中,以下哪个是正确的指针声明?A. int *ptr;B. int ptr[];C. int *ptr = 10;D. int ptr = 10;答案:A9. C语言中,以下哪个函数用于动态分配内存?A. malloc()B. calloc()C. realloc()D. free()答案:A10. C语言中,以下哪个是正确的文件操作函数?A. fopen()B. fclose()C. fgetc()D. All of the above答案:D二、填空题(每题3分,共15分)1. C语言中,用于声明一个整型变量的关键字是________。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计(本)复习题一、选择题1. 以下语句或语句组中,能正确进行字符串赋值的是A)char *sp;*sp="right!"; B)char s[10];s="right!";C)char s[10];*s="right!"; D)char *sp="right!"2. 以下选项中合法的字符常量是A) "B" B) '\010' C) 68 D) D3. 结构化程序由三种基本结构组成,三种基本结构组成的算法A) 可以完成任何复杂的任务B) 只能完成部分复杂的任务C) 只能完成符合结构化的任务D) 只能完成一些简单的任务4. 以下选项中可作为C语言合法整数的是A)10110B B)0386 C)0Xffa D)x2a25. 以下不能定义为用户标识符的是A)scanf B)Void C)_3com_ D)int6. 在C语言中,合法的长整型常数是A) OL B) 4962710 C) 324562& D) 216D7. 以下有4组用户标识符,其中合法的一组是A) For B) 4d C) f2_G3 D) WORD-sub DO IF voidCase Size abc define8. 下列函数定义中,会出现编译错误的是A)max(int x,int y,int *z) B)int max(int x,y){ *z=x>y ? x:y; } { int z;z=x>y ? x:y;return z; }C)max(int x,int y) D)int max(int x,int y){ int z; { return(x>y?x:y); } z=x>y?x:y; return(z);}9. 假定x和y为double型,则表达式x=2,y=x+3/2的值是A) 3.500000 B) 3 C) 2.000000 D) 3.00000010. 以下合法的赋值语句是A) x=y=100 B) d--; C) x+y; D) c=int(a+b);11. 设正x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是printf("%d,%d\n",x--,--y);A) 10,3 B) 9.3 C) 9.2 D)10.212. x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是A) INPUT x、y、z; B) scanf("%d%d%d",&x,&y,&z);C) scanf("%d%d%d",x,y,z); D) read("%d%d%d",&x,&y,&z);13. 以下定义语句中正确的是A) char a='A'b='B'; B) float a=b=10.0;C) int a=10,*b=&a; D) float *a,b=&a;14. 下列选项中,不能用作标识符的是A) _1234_ B)_1_2 C)int_2_ D)2_int_15. 有以下定义语句double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是A) a=a+b=b++ B)w%(int)a+b) C)(c+w)%(int)a D)w=a==b;16. 有以下程序main(){ int m=3,n=4,x;x=-m++;x=x+8/++n;printf("%d\n",x);}程序运行后的输出结果是A) 3 B) 5 C) -1 D) -217. 有以下程序main(){ char a='a',b;print("%c,",++a);printf("%c\n",b=a++);}程序运行后的输出结果是A) b,b B) b,c C) a,b D) a,c18. 有以下程序main(){ int m=0256,n=256;printf("%o %o\n",mn,n);}程序运行后的输出结果是A) 0256 0400 B) 0256 256 C) 256 400 D) 400 40019. 有以下程序main(){ int a=666,b=888;printf("%d\n",a,b);}程序运行后的输出结果是A) 错误信息B) 666 C) 888 D) 666,88820. 有以下程序main(){ int i;for(i=0;i<3;i++)switch(i){case 0:printf("%d",i);case 2:printf("%d",i);default:printf("%d",i);}}程序运行后的输出结果是A) 022111 B) 021021 C) 000122 D) 01221. 若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)<10022. 有以下程序main(){int a=3,b=4,c=5,d=2;if(a>b)if(b>c)printf("%d",d++ +1);elseprintf("%d",++d +1);printf("%d\n",d);}程序运行后的输出结果是A) 2 B) 3 C) 43 D) 4423. 下列条件语句中,功能与其他语句不同的是A) if(a) printf("%d\n",x); else printf("%d\n",y);B) if(a==0) printf("%d\n",y); else printf("%d\n",x);C) if (a!=0) printf("%d\n",x); else printf("%d\n",y);D) if(a==0) printf("%d\n",x); else printf("%d\n",y);24. 有以下程序main(){ int i=0,x=0;for (;;){if(i==3||i==5) continue;if (i==6) break;i++;s+=i;};printf("%d\n",s);}程序运行后的输出结果是A)10 B) 13 C) 21 D) 程序进入死循环25. 若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是A) for(i=1,p=1;i<=5;i++) p*=i;B) for(i=1;i<=5;i++){ p=1; p*=i;}C) i=1;p=1;while(i<=5){p*=i; i++;}D) i=1;p=1;do{p*=i; i++; }while(i<=5);26. 有以下程序main(){ char a,b,c,d;scanf("%c,%c,%d,%d",&a,&b,&c,&d);printf("c,%c,%c,%c\n",a,b,c,d);}若运行时从键盘上输入:6,5,65,66<回车>。
则输出结果是A) 6,5,A,B B) 6,5,65,66 C) 6,5,6,5 D) 6,5,6,627. 以下能正确定义二维数组的是A) int a[][3]; B) int a[][3]=2{2*3};C) int a[][3]={}; D) int a[2][3]={{1},{2},{3,4}};28. 有以下程序int f(int a){ return a%2; }main(){ int s[8]={1,3,5,2,4,6},i,d=0;for (i=0;f(s);i++) d+=s;printf("%d\n",d);}程序运行后的输出结果是A) 9 B) 11 C) 19 D) 2129. 若有以下说明和语句,int c[4][5],(*p)[5];p=c;能正确引用c数组元素的是A) p+1 B) *(p+3) C)*(p+1)+3 D) *(p[0]+2])30. 有以下程序main(){ int a=7,b=8,*p,*q,*r;p=&a;q=&b;r=p; p=q;q=r;printf("%d,%d,%d,%d\n",*p,"q,a,b);}程序运行后的输出结果是A) 8,7,8,7 B) 7,8,7,8 C) 8,7,7,8 D) 7,8,8,731. s1和s2已正确定义并分别指向两个字符串。
若要求:当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是A) if(s1>s2)S; B) if(strcmp(s1,s2))S;C) if(strcmp(s2,s1)>0)S; D) if(strcmp(s1,s2)>0)S;32. 设有定义语句int x[6]={2,4,6,8,5,7},*p=x,i;要求依次输出x数组6个元素中的值,不能完成此操作的语句是A) for(i=0;i<6;i++) printf("%2d",*(p++));B) for(i=0;i<6;i++) printf("%2d",*(p+i));C) for(i=0;i<6;i++) printf("%2d",*p++);D) for(i=0;i<6;i++) printf("%2d",(*p)++);33. 有以下程序#includemain(){int a[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL;*q=*(p+5);printf("%d %d\n",*p,*1);}程序运行后的输出结果是A) 运行后报错B) 6 6 C) 6 11 D) 5 1034. 有以下定义和语句int a[3][2]={1,2,3,4,5,6,},*p[3];p[0]=a[1];则*p[0]+1)所代表的数组元素是A) a[0][1] B) a[1][0] C) a[1][1] D) a[1][2]35. 有以下程序main(){char str[][10]={"China","Beijing"},*p=str;printf("%s\n",p+10);}程序运行后的输出结果是A) China B) Bejing C) ng D) ing36. 有以下程序main(){char s[]="ABCD",*p;for(p=s+1; p<s+4; p++) printf("%s\n", p);}程序运行后的输出结果是A) ABCD B) A C) B D) BCDBCD B C CDCD C D DD D37. 在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,则A) 称为函数的直接递归调用B) 称为函数的间接递归调用C) 称为函数的循环调用D) C语言中不允许这样的递归调用38. 已有定义:int i,a[10],*p;,则合法的赋值语句是A) p=100; B) p=a[5]; C) p=a[2]+2; D) p=a+2;39. 以下叙述中正确的是A) 预处理命令行必须位于源文件的开头B) 在源文件的一行上可以有多条预处理命令C) 宏名必须用大写字母表示D) 宏替换不占用程序的运行时间40. 设有定义语句:char c1=92,c2=92;,则以下表达式中值为零的是A) c1^c2 B) c1&c2 C) ~c2 D) c1|c241. 程序中对fun函数有如下说明void *fun();此说明的含义是:A) fun了数无返回值B) fun函数的返回值可以是任意的数据类型C) fun函数的返回值是无值型的指针类型D) 指针fun指向一个函数,该函数无返回值42. 有以下程序main(){ char s[]"Yes\n/No",*ps=s;puts(ps+4);*(ps+4)=0;puts(s);}程序运行后的输出结果是A) n/No B) /No C) n/NO D) YesYes Yes /No/No /No Yes43. 有以下程序main(){ unsigned int a;int b=-1;a=b;printf("%u",a);}程序运行后的输出结果是A) -1 B) 65535 C) 32767 D) -3276844. 有以下程序main(){ int a; char c=10;float f=100.0; double x;a=f/=c*=(x=6.5);printf("%d %d %3.1f %3.1f\n",a,c,f,x);}程序运行后的输出结果是A)1 65 1 6.5 B)1 65 1.5 6.5 C)1 65 1.0 6.5 D)2 65 1.5 6.5 45. 以下选项中非法的表达式是A)0<=x<100 B)i=j==0 C)(char)(65+3) D)x+1=x+1 46. 有以下程序main(){ int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a<B);printf("%d,%d\n",k,m);}程序运行后的输出结果是A)0,0 B)0,1 C)1,0 D)1,147. 有定义语句:int x, y;,若值11,变量y得到数值12,下面四组输入要通过scanf("%d,%d",&x,&y);语句使变量x得到数形式中,错误的是A)11 12<回车> B)11, 12<回车>C)11,12<回车> D)11,<回车> 12<回车>48. 设有如下程序段:int x=2002, y=2003;printf("%d\n",(x,y));则以下叙述中正确的是A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出B)运行时产生出错信息C)输出值为2002D)输出值为200349. 设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是A)x=x*100+0.5/100.0; B)x=(x*100+0.5)/100.0;C)x=(int)(x*100+0.5)/100.0; D)x=(x/100+0.5)*100.0;50. 有以下程序void fun(int *a,int i,int j){ int t;if(i<J){ t=a;a=a[j];a[j]=t;i++; j--;fun(a,i,j);}}main(){ int x[]={2,6,18},i;fun(x,0,3);for(i=0;i<4;i++) printf("%2d",x);printf("\n");}程序运行后的输出结果是A) 1 2 6 8 B) 8 6 2 1 C) 8 1 6 2 D) 8 6 1 251. 有以下说明和定义语句struct student{ int age; char num[8];};struct student stu[3]={{20,"200401"},{21,"200402"},{10\9,"200403"}};struct student *p=stu;以下选项中引用结构体变量成员的表达式错误的是A) (p++)->num B) p->num C) (*p).num D) stu[3].age52. 有以下程序mina(){ int x[]={1,3,5,7,2,4,6,0},i,j,k;for(i=0;i<3;i++)for (j=2;j>=i;j--)if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}for(i=0;i<3;i++)for(j=4;j<7-i;j++)if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}for (i=0;i<3;i++)for(j=4;j<7-i;j++)if(x[j]>x[j+1]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}for (i=0;i<8;i++) printf("%d",x);printf("\n");}程序运行后的输出结果是:A) 75310246 B) 1234567 C) 76310462 D) 1357024653. 有如下程序#includemain(){ FILE *fp1;fp1=fopen("f1.txt","w");fprintf(fp1,"abc");fclose(fp1);}若文本文件f1.txt中原有内容为:good,则运行以上程序后文件f1.txt中的内容为A) goodabc B) abcd C) abc D) abcgood53~55. 以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请从与下划线处号码对应的一组选若中选择出正确的选项。