C语言笔试题.wps
更新时间:2023-03-08 05:27:20 阅读量: 综合文库 文档下载
C语言总复习题一 一、选择题
1.一个C语言程序是由()组成的。
A一个主程序和若干子程序 B函数 C 若干过程 D若干子程序
2.若x,I,j和K都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为(). A 4 B 16 C 32 D 52
3.若已定义 int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0<=i<=9,则对a数组元素不正确的引用是()。
A a[p-a] B *(&a[i]) C p[i] D a[10] 4.四个选项中,均是C语言关键字的选项是()
A auto enum include B switch,typedef,continue C signed union scanf D if struct type 5.下面四个选项中,均是不正确的八进制数或十六进制数的选项是()
A 016 0x8f B oabc 017 C 010 -0x11 D 0a12,7ff,-123 6.一下程序的运行结果是() #include stdio.h; main()
{int a,b,d=241; a=d/100%9; b=(-1)&&(-1);
Printf(\}
A 6,1 B 2,1 C 6,0 D 2,0
7.构成C语言程序的基本单位是() A 过程 B 函数 C 语句 D 命令
8.为了避免在嵌套的条件语句if-else中产生二义性,c语言规定ELSE子句总是与()配对。 A 缩排位置相同的if B 其之前最近的if C 之后最近的if D 同一行上的if 9.下面能正确进行字符串赋值操作的是();
A char s [5] = {“ABCDE”};B char s [5] = {?A?,?B?,?C?,?D?,?E?}; C char *s;s=\D char *s; char a ; scanf(“%s”,&s);
10.在16位IBM-PC机上使用C语言,若有如下定义 Struct data
{int i;char ch;double f; }b;
则结构体变量b占用内存的字节数是() A 1 B 2 C 7 D 11 11.已知字母A的ASCII码为进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3';后,c2中的值为 ( )
A D B 68 C 不确定的值 D C
12.在C语言中,char型数据在内存中的存储形式是() A 补码 B 反码C 原码D ASCII码 13.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的是 ()
A A%2==1 B !(A%2==0) C !(A%2) D A%2 14.以下程序的运行结果是() 1 / 11
Main() {int m=6;
If(m++>6) printf(\Else printf(\——m);} A 4 B 5 C 7 D 6 15.设有如下定义: Int (*ptr)();则以下叙述中正确的是()
A ptr是指向一维数组的指针变量 B ptr 是指向int 型数据的指针变量C ptr是指向函数的指针变量,该函数返回一个int型数据 D ptr是一个函数名,该函数的返回值是指向int型数据的指针
16.已定义:int i,*p=&i;以下表达式不正确的是()
A &*pi B *&pi C&*i D*&i
17.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是() A float型 B int 型 C long 型 D double型
18.对两个数组a和b进行如下初始化char a[]=\则以下叙述正确的是()
Aa与b 数组完全相同B a与b长度相同C a和b中都存放字符串D a数组比b数组长度长
19.对以下的程序段:for(t=1;t<=100;t++) {scanf(\If(x Printf(\下面叙述正确的是() A当x<0时整个循环结束 B x>=0时什么也不输出C printf函数永远也不执行D最多允许输出100个非负整数 20.判断char型变量ch是否为大写字母的正确表达式是( ) A ?A?<=ch<=?Z?B ( ch>=?A?)&(ch<=?z?) C ( ch>=’A’)&&(ch<=’z’) D (?A?<= ch)AND(?z? >= ch) 21.以下描述中正确的是() A由于do_while循环中循环体语句只能是一条可执行语句,故循环体内不能使用复合语句 B 在while循环体中,循环体至少要执行一次C在do-while循环体中,循环体至少无条件的执行一次D do_while循环由do开始,用while(表达式)后面不能写分 22.若i为整型变量,则以下循环执次数是() For(i=2;i!=0;) printf(\——); A 无限次B 0次C 1次D 2次 23.若有说明 :int a[3][4];则对a数组元素的正确引用是() Aa[2][4] B a[1,3] C a[1+1] [0] D a(2)(1) 24.以 下程序的输出结果是() #include {int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}, *p[4], i; For(i=0;i<4;i++;) P[i]=&a[i*3]; 2 / 11 Printf(\ A 输出项不合法 B 6 C 8 D 12 25.下面函数调用语句含有实参的个数为() Y=func (a,b, max(d,e)); A 5 B 2 C 3 D 4 填空题 1.结构化设计的三种基本结构 顺序结构,选择结构,循环结构 2.设int x=9,y=8;表达式x==y+1的结果是 1 3.宏定义必须写在函数之外,其作用域为从宏定义命令起到源程序结束,如果终止其作用域,可使用 #undef 命令。 4.定义int x,y;执行y=(x=1,++x,x+2);后,y的值是 4. 5.已知int x=10,y=20,z=30;if (x>y) z=x;x=y;y=z;执行后x,y,z的值是20 30 30 6.#define ADD(x) x+x Main() {int m=1,n=2,k=3; int sum=ADD(m+n)*k; printf(\上面程序的运行结果是 sum=10 。 判断题 1.在C语言中,除了main函数外,,任何函数都可以递归调用。(T) 2.语句scanf(\);是非法的。(T) 3.C语言程序中的变量按作用域范围可分为两种,即局部变量和全局变量。(T) 4.运算符的优先级顺序依次为(由高到低) :!(非)、关系运算符、算数运算符、&&和||、赋值运算符(F) 5.Break,return所起的作用是一样的,都是跳出循环。(F) 6.二维数组a[3][4]可分解为三个一维数组,其数组名分别为:a[0]、a[1]、a[2],这三个一维数组都有4个元素(T) 7.在C语言中没有专门的字符串变量,通常用一个字符数组来存放一个字符串。(T) 8.包含命令中的文件名可以用双引号括起来,也可以用括号括起来。如:#include \、#include (math.h)(F) 9.函数的参数不仅可以是整型,实型,字符型等数据,还可以使指针类型。它的作用是将一个变量的地址传送到另一个函数中(T) 10.C程序中有调用关系的所有函数必须放在同一个源程序文件中。(F) 阅读程序题 1.#include Fun(int x,int y,int *cp,int*dp) {*cp=x+y; *dp=x-y;} Main(){int a,b,c,d; a=30;b=50; fun(a,b,&c,&d); printf(\ return 0;} 运行结果 80,—20 2.main() 3 / 11 {int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,13}; int (*ptr)[4]; int sun=0,i.j; ptr=a; For (i=0;i<3;i++) for(j=0;j<2;j++) sum+=*(*(ptr+1)+j); printf(\ 运行结果 60 (1+3+9+11+17+19) 3.#include {int i,x,y; i=x=y=0; do{++i; if(i%2!=0) {x=x+i;i++;} y=y+i++;} While(i<=7); printf(\ 运行结果 x=10,y=20 4.main() {char ch[2][5]={\Int i,j,s=0; for(i=0;i<2;i++ ) p[i]=ch[i]; For(i=0;i<2;i++) for(j=0;p[i][j]>'\\0' ;j+=2) s=10*s+p[i][j]—'0'; Printf(\ 运行结果 6385 5.5.#include {char c; while((c=getchar())!='?' putchar(++c);} 当程序运行时,从键盘键入ringht? 程序填充题 1.求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),。几个数相加由键盘控制 #include int a,n,count=1; long int sn=0,tn=0; printf(\ a and n\\n\Scanf(\ printf(\While(count<=n){tn=tn+a; sn=sn+tn; 【1】 a=a*10; ++count;} Printf(\ 答案 【1】 a=a*10; 2.已定义一个含有30个元素的数组s,函数fun1的功能是按顺序分别赋予各元素从2开始 4 / 11 的偶数,函数fun2则按顺序每五个元素求一个平均值,并将该值存放在数组w中。 Float s[30],w[6]; fun1(float s[]) {int k,i; for(k=2,i=0;i<30;i++) {【2】 s[i]=k 或是s[i]=(i+1)*2 } } fun2(float s[],float w[]) {float sum=0.0; int k,i; for(k=0,i=0;i<30;i++) {sum+=s[i]; 【3】if((i+1)%5==0)或if((i+1)/5*5==i+1; ) {w[k]=sum/5; 【4】 sum=0 或sum=0.0; K++;}} Main() {int i; fun1(s); 【5】 fun2(s,w); For (i=0;i<30;i++) {if(i%5==0) printf(\); printf(\printf(\); for(i=0:i<6;i++) printf(\解题思路:先看题干在看主函数,再看调用函数 C语言复习二 1.一个C语言程序至少包含一个(main)函数。 A.printf B.scanf C.main D.自定义 2.一个完整的C程序包含一个或多个函数。对于函数main(),不正确的说法是(有没有它都行) A.它是程序开始运行的第一个被调用的函数 B.没有它程序就无法运行 C.它是唯一不可缺少的函数 D.有没有它都行 3.C语言中,复合语句的构成是将一系列语句置于(花括号“{}”之间) A.begin和end之间 B.方括号“[]”之间 C.圆括号“()”之间 D.花括号“{}”之间 4.不合法的C语言整型常量是(—0128) A.-0128 B.0x35 C.123L D.30000 5.以下程序段的输出结果是(1 -2)int x=3; do{ print(\—=2);}while(!((——x)); while(x) x!=0 whlie(!x)x= =0 A.1 B.3 0 C.1 -2 D.死循环 6.设x,y均为整型常量,且x=10,y=3,则语句printf(\——,——y);的输出结果是(10,2) A.10,3 B.9,3 C.9,2 D.10,2 7.以下程序的输出结果是(0650) Main() {int a[4][4]={{1,3,5},{2,4,6},{3,5,7}}; Printf(\ 5 / 11 A.0650 B.1470 C.5430 D.输出值不定 8.以下程序的输出结果是(5,7) int a,b; void fun(){a=100;b=200} Main() {int a=5,b=7; fun() printf(\ A.100,200 B.5,7 C.200,100 D.7,5 9.,执行下面程序后,a的值为(8)(考点全局变量和局部变量) Main() {int a,b; for(a=1,b=1;a<=100;a++) {if(b>=20) break; if(b%3==1) {b+=3; continue} b—=5;}} A.7 B.8 C.9 D.10 10.若有以下说明: int a[3][5]={{1,2},{3,4},{5,6}};则数值为6的表达式是( a[2][1] ) A.a[2] B.a[2][1] C.a[3][3] D.a[3][5] 11.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是(7和5) Main() {int x; scanf(\ if(x++>5) printf(\Else printf(\——);} A.7和5 B.6和3 C.7和4 D.6和4 12.以下程序的输出结果是(004) Main() {int a=-1,b=4,k; K=(++a<0)&&!(b——<=0); Printf (\(短路) A.104 B.103 C.003 D.004 13下述程序运行后输出结果是(3) Main() {int n[3],i,j,k; 000,i=0 j:0:1;1:2; i=1 j:0:3;1:3; For(i=0;i<3;i++) n[i]=0; k=2; For (i=0;i For(j=0;j Main() {int a=10,k=2,m=1; a/=SQR(k+m)/SQR(k+m);(a=a/(SQR(k+m)/SQR(k+m))) Printf(\ A.10 B.1 C.9 D.0 15.下列运算符中优先级最高的是(+) A.> B.+ C.&& D.!= 16.一下不正确的语句(if(x=y)&&(x!=0) x+=y) 6 / 11 A.if(x>y); B.if (x=y)&&(x!=0) x+=y; C.if(x!=y) scanf(“%d”,&x); else scanf(“%d”,&y); D.if(x<y) {x++;y++;} 17.在c语言中,一位数组的定义的方式为:类型说明符 数组名([常量表达式]) A.[常量表达式] B.[整形表达式] C[整型常量]或[整型表达式] D.[整型常量] 18.定会以如下数组和变量 int k; inta[3][3]={1,2,3,4,5,6,7,8,9}; 则下列语句的输出结果是( 7 5 3 ) for(k=0;k<3;k++) prinft(\ A.3 6 9 B.7 5 3 C.9 6 3 D.3 5 7 19.设有:int a=1 ,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后的n值为(2) A.1 B.2 C.0 D.4 20.下面程序段运行的结果是char str[]=”ABC”,*p=str;printf(“%d\\n”,*(p+2));(字符'C'的ASCII码) char str[] ='ABC',*p=str; prinft(\; A.0 B.字符‘C’的ASSCII码 C.字符‘C’的地址 D.字符‘C’ 21.若i为整型变量,则下列循环执行的次数是( 3次) for (i=3;i!=0)printf(\ A.0次 B.1次 C.2次 D.3次 22.下面程序有错得行是(5) 1 main() 2 { 3 int a[3]={1} ; 4 int i ; 5 scanf(\是地址 6 for(i=1;i<3;i++) a[0]=a[0]+a[i]; 7 prinf(\ 8 } A.3 B.6 C.7 D.5 23.下面的程序的运行结果是 (*#*#*#$)选项中无正确答案 #include for(i=1 ;i<5;i++){ if(i%2) printf(\; else continute ;//else 控制到这句; printf(\;} printf(\;} 7 / 11 A.*#*#$ B.#*#*#*$ C.*#*#$ D.#*#*$ 24.下面的程序的运行结果是 (k=4) #include do{ switch(c++) {case 'A' :k++;break ; case 'B' :k-- ; case 'C' :k+=2;break ; case 'D' :k=k%2;continue ; case 'E' :k=k*10;break ; default :k=k/3 } k++;} while(c<'G') printf(\ A.k=3 B.k=4 C.k=2 D.k=0 25.下程序不是死循环的是(.int k=0 ; do(++k) while(k>=0)) A. int i =100; while(1){ i=i0+1;if(i>100) break ; A.int i=100; while(1) {i=i0+1;if (i>100 break)} B.for(;;); C.int k=0; do{++k;} while (k>=0;) D.int s=36; while (s);--s 填空题 1.在内存中存储“A”要占用 (2)个字节,存储‘A’要占用(1)个字节。 2.在C语言中,长整型数据和(float)类型的数据占用相同的字节数。 3.表达式‘A'+4-0.5运算结果是(68.5),其数据类型是(double) 4.一个函数自己调用自己,称作(递归调用)。 5.在程序中使用库函数,一般应在文件开头使用(#include)命令。 6.定义语句“char p[6]=\”则p[3]代表的字符是(‘4’)。P[5]代表的字符是‘\\0‘. 7.若有如下定义:#define F(N) 2*N,则表达式F(2+3)的值是(7)。(2*2+3) 判断题 1.C语言中每个语句必须以“;”分号结束。(T) 2.C语言中所有函数的执行都是从主函数开始的。(T) 3.语句printf(\的输出结果为51。 (T)0的ASCII是48 4.常量—1按无符号整型输出时,显示65535。 (T) 5.结构体类型本身不占用内存空间,结构体变量占用内存空间。 (T) 6.C语言函数的返回值只能是数值,不能是地址。 (F) 7.X=(i=4,j=16,k=32); x的结果是32。 (T) 8 / 11 8.变量一旦被说明,则该变量被分配存储空间。 (T) 9.C语言程序通过编译、运行后,其结果都是正确的。 (F) 10.C语言中所有变量都不能存放地址。 (F) 四.阅读程序图 1. #include int a ,s ,n,count ; a=2;s=0;n=1;count = 1; While(count<=7) {n=n*a;s=s+n;++count;}(n=2的n 次方,等比数列求和) Prinft(\} 【】运行结果: S = 254 2.【程序】 Main(){ Int a[2][3] = { {1,2,3} ,{4,5,6}} int m,*ptr ; ptr=&a[0][0]; m=(*ptr)*((*ptr+2))*((*ptr+4)); printf(\ 【运行结果】15 3 . 【程序】 voidfan(int *a ,int *b ) {k=a;a=b; b=k;} main(){ int a= 3, b=6,*x=&a , *y=&b ; fun(x,y); printf(\ 【运行结果】 3 ,6 4【程序】 #include int a, b ,m ,n ; m=n=1 ; scanf(\ do{ if(a>0) {m=2*n ; b++ ;}} while(a==b) printf(\ 程序运行时请输入 4 2 【程序运行结果】 m = 2,n=1 5【程序】(拿x 的元素上y里去查,找不到给c ) #include int f( int a[] ,int b[] ,int n , int c[]){ 9 / 11 int i ,j,k =0 ,t ; for(i=0 ;i for( t =1 ; ,j = 0;j { t = 0 ; break ;} if(t) c[k++]=a[i] } return k ;} void main(){ int x[] = {7,2,3,6,5,4,1}, y[] ={5,10,7,9,8,6}, z[10] ,w ,j ; w=f(x,7,y,6,z); for(j=0;j 【程序运行结果】2341 五 . 程序填充题目 1.输出100到1000之间的个位数字之和能被15整除的所有数,输出时候没事每10个数占一行 main(){ int m, n , k,i=0; for(m=100;m<1000 ;m++) {k =0 ; n =m ; do{ k=k+_______【1】 n=n/10;}(先取低端的数) ____________【2】 if(k==0){ printf(\ i++; printf(\;}} 【1】n或 n-n/10*10或 n-10*(n/10) 【2】while(n>0)或while(0 2.功能:有n个整数 ,使其前面各数顺寻向后移动m个位置,最后m个数变成最前面的m个数 main(){ int number[20],m,n,i; printf(\ scanf( \ prinf(\ scanf(\ for(i=0;i scanf(\ scanf(\ 10 / 11 move(______________【3】number , n, m); for(i=0;i prinf(\ prinf(\ move(array ,n ,m) int n ,m ,array[20];{ int *p ,array_end ; array_end=*(______________)【4】; for(p=array+n-1;p>array;p--) *p=*(________)【5】 *array=array_end; m-- if(m>0) move(array,n,m);} 【3】number ,n ,m 【4】array+n- 1 【5】p-1 11 / 11
正在阅读:
C语言笔试题.wps03-08
以新为话题的作文800字9篇02-05
十句经典的话,让你看透人生06-17
关于元宵节的诗词大全_元宵节08-01
妈妈,我爱您作文550字07-07
十句经典口语让别人刮目相看09-23
驾驶员管理制度03-13
第二章外语学习策略的界定与分类03-08
关于元宵节的小学作文06-15
- 教师招聘考试真题(中学数学科目)及答案 - 图文
- 读《光辉的旗帜》有感
- 学生会副部长竞选讲稿
- 江苏省石油化工码头企业安全生产标准化考评细则 - 图文
- 2016尔雅 民俗资源与旅游 期末考试答案 整理
- 九年级华师大《二次函数》全章教案
- 生化作业6
- 串口资料
- 2014北大附中初三数学二模复习策略
- 曼尼希反应
- 努肉孜节2012
- 卫生部关于印发《关于卫生监督体制改革实 施的若干意见》和《关
- 《生活中的线条》教学设计
- 广告学概论讲义 - 图文
- VS1真空断路器原理图及两种VS1真空断路器的介绍
- 晨读倡议书 - 致全国青年朋友
- 建筑物理复习(建筑热工学) - 图文
- 高级消防与精通急救题库 doc
- YJK软件的优化设计
- 小学生必背古诗100首(带拼音)
- 试题
- 语言
- wps
- 安全生产应急管理工作实施方案和工作计划
- 北师大版小学六年级下册数学教案第四单元:正比例与反比例
- 视频会议系统设计与实现大学毕设论文
- 高速公路测量方案 - 图文
- 阳极生产工艺及设备
- 2018年高考语文写作课本经典素材
- VC++程序设计课程实践基础题
- 数据库上机实验报告
- 专题6 基础型式选择和设计优化
- 《小学语文教学法》试卷及答案
- 仪征市丘陵地区油菜新品种比较试验
- 健康服务业 - 图文
- 厦门市市级财政投资基本建设项目资金管理暂行办法
- 课程设计总结报告 - 图文
- 2018年湖北省咸宁市中考语文试卷(真题,word版,含答案)
- 传热学教案9
- 上海市长宁、嘉定区2017-2018学年高三一模化学试卷 Word版含答案
- 辽宁省盘锦市实验中学届九年级化学第三次模拟考试试题
- 洞道干燥实验
- 星级酒店餐厅菜单之认识