C语言复习题2013
2013C语言程序设计习题集
C程序设计习题集第1~2章C语言概述、算法、数据类型、运算符与表达式 (2)第3章程序流程设计 (5)第4章数组 ........................................................ 错误!未定义书签。
第5章函数 ........................................................ 错误!未定义书签。
第7章预处理命令 ............................................ 错误!未定义书签。
第8章指针 ........................................................ 错误!未定义书签。
第9章结构体与共用体 .................................... 错误!未定义书签。
第10章文件...................................................... 错误!未定义书签。
第1~2章C语言概述、算法、数据类型、运算符与表达式一、选择题1.一个C程序的执行是从()。
A)本程序的main函数开始,到main函数结束B)本程序的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序的第一个函数开始,到本程序main函数结束2.以下叙述正确的是()。
A)在C程序中,main函数必须位于程序的最前面B)C程序的每一行只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可以发现注释中的拼写错误3.以下叙述不正确的是()。
A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面4.C语言规定:在一个源程序中,main函数的位置()。
2013 c语言试题及答案
理论考试(120分钟)一、单项选择题(在每小题的4个备选答案中,选出一个最佳答案,共15小题;每小题2分,共30分)1.一个C程序的执行是从( A)A.本程序的main函数开始,到main函数结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序文件的第一个函数开始,到本程序main函数结束2.已知int x=10,y=20,z=30; 以下语句执行后x,y,z的值是( B) if (x>y) z=x; x=y;y=z;A. 10,20,30B. 20,30,30C. 20,30,10D. 20,30,20 3.int a=1,b=2,x=3; 表达式:x*=a+b计算后x的值为:( B )A. 5B. 9C. 3D. 64.下列选项,在C语言中能作为合法标识符的是( D)A. %xB. a+bC. 2_int_12_D. int_2_5.#include<stdio.h> (A)void main(){int sum,pad;sum=pad=5;pad=sum++;pad++;++pad;printf("%d %d\n",pad, sum);}A.7 6B. 6 5C. 7 5D. 6 6 6.若有说明:int a[10];则对a 数组元素的正确引用是( D )A. a[10]B. a[3, 5]C. a(5)D. a[10-10] 7.请读程序#include<stdio.h>#define MUL(x,y) (x)*yvoid main(){ int a=3, b=4, c;c=MUL(a++, b++);printf("%d\n", c);}上面程序的输出结果是(A)。
A. 12B. 15C. 20D. 168.若用数组名作为函数调用的实参,传递给形参的是数组的( A )A. 数组的首地址B. 数组第一个元素的值C. 数组中全部元素的值D. 数组元素的个数9.阅读以下程序void main(){ int a=5,b=0,c=1;if(a=b+c) printf(“***\n”);else printf(“$$$\n”);}以上程序( C)A. 语法有错不能通过编译B. 可以通过编译但不能通过连接C. 输出***D. 输出$$$10.下列关于函数定义正确的是( D )A. fun(int x,y){ int z;return z;}B. void fun(int x,int y){ return x+y;}C. fun(x,y){int x,y;double z;z=x+y;return z;}D. double fun(int x,int y) { double z;z=x+y;return z;}11.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是(B )A. 地址传递B. 单向值传递C. 由实参传给形参,再由形参传回实参D. 传递方式由用户指定12.具有相同基类型的指针变量P和数组Y,下列写法中不合法的是( D ) A.P = Y B.*P = Y[i]C.P = &Y[i] D.P = &Y13.设x和y均为int型变量,则下列语句:x+=y; y=x-y; x- =y;的功能是(D ) A.把x和y按从大到小排列。
C语言程序设计期末复习资料2013版
C程序设计期末复习题一、填空题1.表达式1!= 2 && 3 <= 3的值为(1)2.表达式!(3 > 5) ‖3 = =5的值为(1)3.表达式!-2的值为(0)4.表达式(x = 5) && 5 <= 10的值为(1)5.表达式4 > 6‖!(3 < 7) 的值为(0)6.C语言符号集包括(英文字母,数字,下划线和一些有特定含义的标点符号)7.一个C程序有且只有一个(主函数或者main())8.结构化设计中的三种基本结构是(顺序结构,选择结构,循环结构)9.设int x=9,y=8;表达式x==y+1的结果是(1).10.定义int x,y;执行y=(x=1,++x,x+2);语句后,y的值是(4)11.C语言源程序文件的后缀是(.C ),经过编译后生成文件的后缀是( .obj ),经过链接后生成的文件的后缀是( .exe )。
12.表达式10/3的结果是( 3 )。
13.执行下列语句后,a的值是( -264 )。
int a=12;a+=a-=a*a;14.一个C源程序有( 1 )个main( )函数和( 若干 )个其他函数。
15.C程序是从( 主函数main()的第一个可执行语句 )开始执行的。
16.设int x;当x的值分别为1,2,3,4时,表达式(x&1==1)?1:0的值分别是( 1 ),( 0 ),( 1 ),( 0 )。
17.执行下列语句后,a,b,c的值分别是( 8 ),( 8 ),( 10 )。
int x=10,y=9;int a,b,c;a=(--x==y++)?--x:++y;b=x++;c=y;解析:a = (--x == y++) ? --x : ++y;//x先进行-- 运算,再进行比较//y先进行比较,再进行++ 运算//同: if(x == y){ a = x; }else{ a = y; } b = x++; //x先进行赋值,再进行++ 运算//同: b = x;x++; c = y; //因为在前面的 a = ( --x == y++), y 已经进行过++ 运算了,所以y 的值已经成为10 了18.C程序的基本单位是( 函数 )。
(完整版)C语言各章节复习题(带答案)
一、C语言概述练习题选择1.一个C程序的执行是从。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2.以下叙述不正确的是。
A) 一个C源程序必须包含一个main函数 B)一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面3.以下叙述正确的是。
A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面C) C语言本身没有输入输出语句 D) C程序的每行中只能写一条语句4.一个C语言程序是由。
A)一个主程序和若干个子程序组成 B) 函数组成 C) 若干过程组成 D) 若干子程序组成5.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是。
A) C语言程序仅可以编译执行B) C语言程序仅可以解释执行C) C语言程序既可以编译执行又可以解释执行D) 以上说法都不对6.以下叙述中错误的是。
A) C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe 文件7.以下叙述正确的是。
A) C语言程序是由过程和函数组成的B) C语言函数可以嵌套调用,例如:fun(fun(x))C) C语言函数不可以单独编译 D) C语言中除了main函数,其他函数不可作为单独文件形式存在二、数据类型、运算符与表达式选择.1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为x=(i=4,j=16,k=32) A) 4 B) 16 C) 32D) 522.下列四组选项中,均不是C语言关键字的选项是。
c语言真题-试卷答案及解释(2013年3月)
c语言真题-试卷答案及解释(2013年3月)一、选择题(1)B 【解析】N-S图是由Nassi 和Shneiderman 提出的一种符合程序化结构设计原则的图形描述工具。
它的提出是为了避免流程图在描述程序逻辑时的随意性上灵活性。
(2)D 【解析】结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、模块化及限制使用goto语句,总的来说可使程序结构良好、易读、易理解、易维护。
(3)B【解析】模块的独立程度可以由两个定性标准度量:耦合性和内聚性。
耦合性是衡量不同模块彼此间互相依赖(连接)的紧密程度;内聚性是衡量一个模块内部各个元素彼此结合的紧密程度。
一般来说,要求模块之间的耦合尽可能地低,而内聚性尽可能地高。
(4)D 【解析】需求分析是软件定义时期的最后一个阶段,它的基本任务就是详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
选项A)软件开发方法是在总体设计阶段需完成的任务;选项B)软件开发工具是在实现阶段需完成的任务;选项C)软件开发费用是在可行性研究阶段需完成的任务。
(5)A 【解析】算法具有5个特性:①有穷性:一个算法必须(对任何合法的输入值)在执行有穷步之后结束,且每一步都可在有限时间内完成,即运行时间是有限的;②确定性:算法中每一条指令必须有确切的含义,读者理解时不会产生歧义;③可行性:一个算法是可行的,即算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现;④输入:一个算法有零个或多个输入,这些输入取自于某个特定的对象的集合;⑤输出:一个算法有一个或多个输出。
(6)D 【解析】在最坏情况下,快速排序、冒泡排序和直接插入排序需要的比较次数都为n(n-1)/2,堆排序需要的比较次数为nlog2n。
(7)B 【解析】由栈"后进先出"的特点可知:A)中e1不可能比e2先出,C)中e1不可能比e2先出,D)中栈是先进后出的,所以不可能是任意顺序。
c语言13真题(含答案)
参考答案: 15
。
12a34b<CR>
D)1122ㄩㄩaa3ㄩ4 ㄩ3b4<CㄩR>b<CR>
C)12,a,34,b<CR>
参考答案: A
• 2009年3月选择题第23题
若整型变量a和b中的值分别为7和9,要 求按以下格式输出a和b的值:
a=7 b=9
请完成输出语句: printf(" 【7】 ",a,b); 2008年9月填空题第7题
B)八进制
C)十进制
D)十六进制
• 2008年9月选择题第16题
参考答案: A
以下选项中, 能用作数据常量的是 。 A)o115 B)0118 C)1.5e1.5 D)115L
• 2009年3月选择题第13题
参考答案: D
以下选项中可用作C程序合法实数的是
A).1e0
B)3.0e0.2
D)9.12E
A)-20
B)-10
C)0
D)10
• 2009年9月选择题第15题
参考答案: B
表达式a+=a-=a=9的值是 A)9 B)-9 C)18 D)0
• 2010年9月选择题第16题
参考答案: D
以下程序的功能是: 将值为三位正整数的变 量x中的数值按照个位、十位、百位的顺序 拆分并输出。请填空。
#include<stdio.h> main()
main() { char c1, c2;
scanf("%d", &c1);
C语言复习资料(2013.6)
C语言复习资料(2013.6)一、选择题(1)概述1.C程序由函数构成,函数则由函数的首体和()两部分组成。
A) 复合语句B)结构体C)联合体D)函数体2.下列叙述正确的是()。
A)函数体的定界符只能用一对花括号“{}”B)C源程序都是从main( )函数开始执行,所以main( )函数必须位于程序文件最前面C)C源程序中每一行就是一条语句D)注释部分只能单独占用一行,不能跟在一行语句的后面3通常将程序设计语言划分为()。
A)自然语言、流程图和伪代码B)机器语言、汇编语言和高级语言C)汇编语言、高级语言和低级语言D)高级语言、自然语言和伪代码4.main( )函数的位置()。
A)必须位于程序文件的最前面B)必须位于C库函数的后面C)必须位于用户自定义函数的前面D)可位于用户自定义函数之前,也可位于用户自定义函数之后5. 下列叙述正确的是()。
A)分号是C语句之间的分隔符,并不表示一条语句的结束。
B)注释部分在C源程序可独占一行,也可跟在一行语句的后面C)花括号“{}”只能用作复合语句的定界符D)函数是C源程序的基本单位,所有函数名都可以由用户命名(2)基本计算6下列不合法的字符常量是()A)?b? B)?\n? C)?\t? D)”b”7.下列合法的长整型常量是()。
A)Long32768B)32768LC)32768+Long D)328Long8. 下列不合法的用户标示符是()。
A)pro B)_count C)?a D_6b9. 下列合法的常量是()。
A)?\n? B)?3a? C)E13 D)?a?+310. 下列不属于C语言数据类型的是()。
A)长复数类型B)整型C)单精度型D)枚举类型11. 若已定义:int a=2; 则()是正确的赋值表达式。
A) a*3=4 B)a+3=aC) a-=(a*3) D) a=double(a/3)12. 若已定义:int a=2; double x=5.5; 下列不正确的表达式是()。
C语言常见复习题(选择填空)及参考答案
C语言常见复习题及参考答案一、选择题1.下述标识符中,()是合法的用户标识符。
A.A#CB.getchC.voidD.ab*2.在C语言中,字符型数据在内存中是以()形式存放的。
A.原码B.BCD码C.反码D.ASCII码3.以下选项中不合法的用户标识符是()。
A.abc.cB.fileC.MainD.PRONTF4.以下选项中不合法的用户标识符是()。
A.123B.printfC.Anbsp;D.Dim5.可以在C语言程序中用做用户标识符的一组标识符是()。
A.voidB.as-b3C.forD.2cdefine -123 -abc DoWORD If cas SIG6.在以下各组标识符中,合法的用户标识符是(1)、(2)、(3)。
(1)A.001 B.table_1 C.0_t D.k%Int t*.1 W10 point(2)A.Fast_ B.void C.pbl D.Fast+Big abs fabs beep(3)A.xy_ B.longdouble C.*p D.CHAR变量1 signed history Float7.()是构成C语言的基本单位。
A.函数B.过程C.子程序D.子例程8.若有说明:char s1='\067';char s2="1";char s3='1';则s1中(1),s2中(2),s3中(3)。
(1).A.包含3个字符 B.包含2个字符C.包含1个字符D.无定值,说明不合法(2).A.包含1个字符 B.包含2个字符C.包含3个字符D.无定值,说明不合法(3).A.包含1个字符 B.包含2个字符C.包含3个字符D.无定值,说明不合法9.若x为int型变量,则执行以下语句后,x的值为x=6;x+=x-=x*xA.36B.-60C.60D.-2410.在C语言中,char 型数据在内存中是以()形式存储的。
A.原码B.补码C.ASCII码D.反码11.以下运算符中优先级最低的算符为(),优先级最高的为()。
C语言试题 湘潭大学
C语言典型试题2013级测控技术与仪器一班复习资料选择题1、有以下定义:int a;long b;double x、y;,则以下选项中正确的表达式是()A )a%(int)(x/y) B)a=x!=y C)(a*y)%b D)y=x+y=x答案)B A中若x、y相等,分母为0,出现除0错误;C中double 类型不能进行取余操作;D 中赋值号“=”右侧不能是表达式2、以下选项中能表示合法常量的是()A)整数:1,200 B)实数:1.5E2.0 C)字符:‘\’D)字符串:“\007”答案)D 选项A 1200中间不能有逗号,否则编译出错;选项B 2.0错误,必须为整数;选项C 要表示字符斜杠常量’\’应该在反斜杠前面再加上一个反斜杠3、以下C语言用户标识符中,不合法的是()A)_1 B)AaBc C)a_b D)a--b答案) D4表达式a+=a-=a=9值是()A)9 B)-9 C)18 D0答案)D 第一步a=9,然后计算a-a的值,并将此值赋给a,此时a=0,a+a的值赋给a.最终结果为05、#include<stdio.h>main{ int k=011;printf(“%d\n”,k++)}程序运行后输出结果()A)12 B)11 C)10 D)9答案)D 011为八进制数,对应的十进制为9,k++;先使用k再对其加1,++k;先对k进行加1赋值给k,再使用k6、以下选项中合法的标识符是()A 1_1B 1--1C _11D 1__答案)C7、若有定义语句:int x=10 ;,则表达式x-=x+x的值为()A -20B -10C 0D 10答案)B 表达式为x-(x+x)=10-20=-108、C语言规定,在一个C程序中,main()函数的位置()A 必须在系统调用的库函数之后B 必须在程序的开头C 必须在程序的最后D 可以在任意位置答案)D9、#include<stdio.h>main(){ int a=1,b=0;if(!a) b++;else if (a==0) if (a) b+=2;else b+=3;pringtf (“%d\n,b”);}程序运行后的输出结果是()A 0B 1C 2D 3答案) A 考查if else 语句,开始a=1,b=0;此时if(!a)不成立,转执行else if (a==0)由于a=1,之后的语句都不执行。
2013二级c语言真题100道
第1套填空题请补充FUN函数,FUN 函数的功能是求10的阶乘。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。
试题程序:#include <stdio.h>long fun(int n){if (___1___)return (n*fun(___2___));return ___3___;}main(){printf("10!=%ld\n",fun(10));}第1处填空:n>1或1<n第2处填空:n-1第3处填空:1或11或1L改错题下列给定程序的功能是:读入一个整数K(2〈=K 〈=10000),打印它的所有因子(即所有为素数的因子)。
例如,若输入整数2310,则应输出:2、3、5、7、11。
请改正程序中的错误,使程序能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include <conio.h>#include <stdio.h> /********found********/IsPrime(int n);{int i, m;m = 1;/********found********/for (i=2; i<n; i++)if !(n%i){m = 0;break;}return(m);}main(){int j, k;printf("\nplease enter aninteger number between 2 and10000:");scanf("%d", &k);printf("\n\nThe primefactor(s) of %d is(are):", k);for (j=2; j<k; j++)if ((!(k%j)) &&(IsPrime(j)))printf(" %4d,", j);printf("\n");}第1处:Isprime(int n);应改为Isprime(int n)第2处:if !(n%i)应该为if(!(n%i))第2套填空题请在函数FUN的横线上填写若干表达式,使从键盘上输入一个整数N,输出斐波纳契数列。
2013年c语言期末考试试题及答案
2013年c语言期末考试试题及答案在2013年的C语言期末考试中,试题涵盖了C语言的基础知识、数据类型、控制结构、函数、数组、指针、结构体、文件操作等多个方面。
以下是部分试题及其答案,供参考:1. 请写出C语言中的基本数据类型,并说明它们各自的特点。
C语言中的基本数据类型包括整型(int)、字符型(char)、浮点型(float和double)。
整型用于存储整数,字符型用于存储单个字符,浮点型用于存储小数。
它们的特点分别是:整型占用的存储空间较小,但只能表示整数;字符型占用的存储空间最小,但只能表示单个字符;浮点型可以表示小数,但占用的存储空间较大。
2. 请写出C语言中的控制结构,并说明它们的功能。
C语言中的控制结构包括顺序结构、选择结构和循环结构。
顺序结构是按照代码的顺序依次执行;选择结构是根据条件判断执行不同的代码块,如if语句和switch语句;循环结构是重复执行某段代码,直到满足特定条件,如for循环、while循环和do-while循环。
3. 请写出C语言中函数的定义格式,并说明函数的作用。
函数的定义格式为:返回值类型函数名(参数列表){函数体}。
函数的作用是将一段代码封装成一个独立的模块,可以重复调用,提高代码的复用性和可读性。
4. 请写出C语言中数组的定义格式,并说明数组的特点。
数组的定义格式为:数据类型数组名[数组大小]。
数组的特点是可以存储多个相同类型的数据,并且可以通过下标访问和修改数组中的元素。
5. 请写出C语言中指针的定义格式,并说明指针的作用。
指针的定义格式为:*指针名 = &变量名。
指针的作用是存储变量的内存地址,可以通过指针间接访问和修改变量的值。
6. 请写出C语言中结构体的定义格式,并说明结构体的作用。
结构体的定义格式为:struct 结构体名 {成员列表};结构体变量名 = {成员1, 成员2, ...}。
结构体的作用是将多个不同类型的数据组合成一个整体,方便管理和使用。
word版,2013级C语言复习题(20题)答案
函数+指针+构造体(20题)1)编写函数voidchangeStr(char*s),其功能是将s指向的字符串中的所有小写字母变换成相应的大写字母、所有大写字母变换成小写字母、非字母字符不变。
#include<stdio.h>#include<stdlib.h>#include<string.h>voidchangeStr(char*s){/*错误典范while(*s){if(*s>='a'&&*s<='z')*s-=32;if(*s>='A'&&*s<='Z')*s+=32;++s;}*/char*p=s;while(*p){if(*p>='a'&&*p<='z')*p-=32;elseif(*p>='A'&&*p<='Z')*p+=32;++p;}}intmain(){intn;char*ch=(char*)malloc(100*sizeof(char));gets(ch);changeStr(ch);puts(ch);free(ch);return0;}2)编写函数voidfactor(intx,int*p,int*n),其功能是求解整数x的因子,将这些因子寄存到p指向的数组中,并将因子的个数储存到n指向的变量中。
提示:整数24的因子为2,4,6,8,12,24。
#include<stdio.h>#include<string.h>#include<stdlib.h>voidfactor(intx,int*p,int*n){inti,j;j=0;for(i=2;i<=x;i+=2){if(x%i==0){p[j++]=i;*n=j;}}}intmain(){intn,x;inti;int*p=(int*)malloc(50*sizeof(int));printf("请输入一个数");scanf("%d",&x);factor(x,p,&n);printf("因子的个数为:%d\n",n);for(i=0;i<n;i++)printf("%d",p[i]);printf("\n");free(p);return0;}(3)编写函数intsum(inta[],intn,intres[2]),其功能是将长度为n的数组a的【各元素之和】以及数组a中【最大值与最小值的差值】寄存在数组res中。
c语言复习题
44.以下数组的定义形式正确的是()。
A)int k=5,a[k]; B)int a[ ]; C)char c[]={'a'}; D)char a(10);
45.以下一维数组的定义及初始化中,错误的是()。
A)int a[3]={0}; B)int a[3]={1,1,1};
21. A 22. D 23. B 24. C 25. C 26. B 27. B 28. A 29. D 30. A
31. C 32. A 33. B 34. A 35. C 36. D 37. B 38. D 39. A 40. C
41. B 42. D 43. C 44. C 45. D 46. D 47. D 48. C 49. D 50. C
51. A 52. B 53. B 54. A 55. C 56. A 57. B 58. A 59. B 60. C
61. D 62. C 63. C 64. A 65. B 66. C
1.下列关于C程序的说法错误的是()。
A)一个程序必须有一个main函数B)函数首部后面必须有分号
C)可以使用“/* */”来注释一段代码D)每个语句的末尾必须有分号
{ x=10; y=20; }
void main( )
{ int a=1, b=2;
fun(a, b);
printf("%d, %d\n", a,b);
}
A)1,2 B)10,20 C)10,2 D)1,20
40.执行函数调用“fun('5')”得到的返回值为()。
int fun(char ch)
{ return(ch>='0'&&ch<='9'); }
2013年全国计算机二级C语言考试真题
1、对于一个正常运行的C程序,以下叙述中确的是A)程序的执行总是从main 涵数开始B)程序的执行总是从程序的笫一个函数开始,在程序的最后一个函数中结束C)程序的执行总是从main函数幵始,在程序的最后一个函数中结束D)程序的执行总是从程序的笫一个函数开始,在main函数结束3、若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是A)x+1=yB) x=x+10=x+yC)double (x)/10D)++x,y=x--4、以下选项中能表示合法常量的是A)‟\‟B)1,200C)1.5E2.0D)”\007”5、以下定义语句中正确的是A) double a=0.0;b=1.1;B) float a=1,*b=&a,*c=&b;C) int a=b=0;D) char A=65+1,b=‟b‟7、若变量已正确定义为int型,要通过语句scanf(“%d,%d,%d”,&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(注:□代表一个空格符)A) □□□1,2,3<回车>B)1,2,3<回车>C)1, □□□2, □□□3<回车>D)1 □2 □3<回车>8、当变量c的值不为2、4、6时,值也为“真”的表达式是()A (c>=2&&c<=6)&&(c%2!=1)B) (c>=2&&c<=6)&&!(c%2) )C) (c==2)‖(c==4)‖(c==6)D) (c>=2&&c<=6)‖(c!=3)‖(c!=5)9、以下选项中,值为1的表达式是A) …\0‟-…0‟B)‟1‟-0C)1-…0‟D)1- 030、以下选项中,不合法的C语言用户标识符是A a——bB AaBcC _1D a_b31. 以下选项中关于C语言常量的叙述错误的是A经常被使用的变量可以定义成常量B 所谓常量,是指在程序运行过程中,其值不能被改变的量C常量可分为数值型常量和非数值型常量D常量分为整型常置、实型常量、字符常量和字符串常量34、以下叙述中正确的是A C语句必须在一行内写完B C语言程序中的注释必须与语句写在同一行C C程序中的每一行只能写一条语句D 简单C语句必须以分号结束37、以下选项中不能作为C语言合法常量的是A ‟cd‟B‟\011‟ C 0.le+6 D "\a"58、以下选项中不能用作C程序合法常量的是A."\x7D"B.1,234C.123D.'\123'60、C语言源程序名的后缀是A) . cpB) .objC) .exeD) .C61、阅读以下程序#include <stdio .h>main (){ int case ;float printF;printf ("请输入2个数:");scanf ( "%d %f",&case, &printF );printf("%d %f\n",case,printF );}该程序在编译时产生错误,其出错原因是A.定义语句出错,case是关键字,不能用作用户自定义标识符B.定义语句无错,printf不能输出case的值C.定义语句无错,scanf不能作为输入函数使用D.定义语句出错,printF不能用作用户自定义标识符62.若有定义语句:int x=12,y=8, z;在其后执行语句z= 0.9+x/y;则z的值为A.2.4B.1C.2D.1.963. 表达式a+=a-= a=9的值是A.-9B.0D.1868. 以下选项中非法的c语言字符常量是A.'\b'B.'\xaa'C.'\007'D.'aa'72. 以下叙述中正确的是A.英文大写字母X和荚文小写字母x都可以作为二进制数字的开头字符B.八进制数的开头要使用英文字母o,否则不能与十进制区分开C. 在C程序中的八进制和十六进制,可以是浮点数D.整型变量可以分为int型、short型、long型和unsigned型四种79. 以下选项中,当x为大于1奇数时,值为0的表达式是A.x%2==0B.x%2==lC.x%2!=0D.x/2101. 以下选项中不能作为c语言合法常量的是A.'cd'B.'\011'C.0.le+6D."\a"104. 以下选项中不能用作C程序合法常量的是A"\x7D"B.1,234C.123D.'\123'134. 若有定义语句:char a='\82 ';则变量aA.包含3个字符B.说明不合法C.包含1个字符D.包含2个字符135. 有以下程序#include <stdio.h>main (){char cl='A',c2='Y';printf ("%d,%d\n", cl,c2 );}程序的输4结果是A.输出格式不合法,输出出错信息B.65.89D.65.90154. 以下选项中,能用作数据常量的是A.115LB.0118C.0115D.1.5el.5155. 设变量已正确定义并赋值,以下正确的表达式是A.x=y*5=x+zB.int(15.8%5)C.x-25%5.0D.x=y+z+5,++y185. 有以下程序#include <stdio.h>main(){ char a='H';a = ( a>='A' && a<= 'Z' ) ? (a+32) : a;printf("%c\n",a );}程序运行后的输出结果是A) AB) aC) hD) H194. 以下叙述中正确的是A)程序可以包含多个主函数,但总是从第一个主函数处开始执行B)书写源程序时,必须注意缩进格式,否则程序会有编译错误C)程序的主函数名除main外,也可以使用Mainl或_mainD)在C程序中,模块化主要是通过函数来实现的199. 以下叙述中正确的是A)字符变量在定义时不能赋初值B)同一英文字母的大写和小写形式代表的是同一个字符常量C)转义字符用@符号开头D)字符常量可以参与任何整数运算200. 以下叙述中正确的是A)"a"表示一个字符常量B)"\"是非法的C)'\0'表示字符0D)表达式:'a'>'b'的结果是"假"202. 以下叙述中正确的是A)由&&构成的逻辑表达式与由||构成的逻辑表达式都有"短路"现象B)C语言的关系表达式:0<x<10完全等价于:(0<x)&& (x<10)C)逻辑"或"(即运算符||)的运算级别比算术运算要高D)逻辑"非〃〈即运算符!)的运算级别是最低的219. c源程序中不能表示的数制是A) 八进制B)十六进制C)十进制D) 二进制221. 以下四个程序中,完全正确的是A) # include<stdio .h>main (){/* programming */printf("programming!\n"); }B)include<stdio. h>main (){/* programming */printf("programming!\n"); }C) #include <stdio.h>main ();{/* programming /*/printf("programming!\n"}; }D) # include<stdio .h>main (){/*/* programming */*/printf("programming!\n"); }222. 若有定义语句:int x=10;则表达式x-=x+x的值为A) 10B) -10C) -20D) 0224. 己知大写字母A的ASCII码是65’小写字母a的ASCII码是97。
C语言程序设计2013期末试题(含答案)
一、写出下列程序段的运行结果(40分)1.(4分)int i=1, j=2, k=4;printf("%f,", i-(float)(j/k));printf("%d, ", j<3<k);k+=(i+k)/10+0.5 ;printf("%d,",k);printf("%d", (j=1)?2:0);输出:1.000000,1,(此处有空格)4,22.(4分)char a=0x12303F;printf("%d,",a);a='a'-'B'+'E';printf("%c",--a);输出:63,c3.(4分)int i = 3, j = 2;if (!i&&i--)i+=2;i++;printf("%d,", i);do{j+=i;i/=2;if(j>8) break;} while(i=3);printf("%d\n", j);输出:4,9(此处需要换行即\n)4.(4分)intp[7]={11,13,15,17,18,20,23}, i=0,k=0;for (;p[i]%2;){switch(p[i]%5){case 1: k+=p[i++]; break;case 3: k+=p[i];default: i++;}}printf("%d,%d",i,k);输出:4,245.(4分)char s[]="1234", *p;for (p=s+3; p>s; p--){printf("%s,", p);}输出:4,34,234,6.(4分)int f(){static int j=1; int k=1;return ((++j)+(++k));}int main(){int i;for (i=0; i<3; i++)printf("%d,", f());return 0;}输出:4,5,6,7.(4分)void fun(int i){if (i){fun(i-3);printf("%d,",i);}}int main(){fun(9);return 0;}输出:3,6,9,8.(4分)union{struct { int a,b,c; } s;int a[3];}u;int main(){u.s.a=0; u.s.b=1; u.s.c=2;*(u.a+1)=3; u.a[2]=4;printf("%d,%d", u.s.a, u.s.b);return 0;}输出0,39.(4分)int s[3][3]= {1,2,3,4,5,6,7,8,9}; int sum;sum = *(s[0]) + *(s[1]+1) + *(s[2]+2);printf("%d", sum);return 0;输出:1510.(4分)FILE *fp; int e; long len; char c; fp=fopen("pi.tmp","w");fputs("3.1415926", fp);fclose(fp);fp=fopen("pi.tmp","r");fscanf(fp,"%d%c",&e,&c);len=ftell(fp);fseek(fp, -1L, SEEK_END);len = ftell(fp)-len;printf("%ld",len);输出:6二、改错题(20分)已知数据文件“c:\data.dat”以二进制方式存有300个整数,函数readDat( )把这些数存入数组a中,函数fun( )的功能是:依次从数组a中取出一个数,若该数连续大于它之前的五个数且该数是偶数(若之前不满五个数,则不统计),统计满足此条件的个数cnt,并把这些数按从大到小的顺序存入数组b中。
C语言复习常见题目复习
直到f2大于1000为止
上机练习:请用while循环编写此程序。
F=1597
四、一维数组、字符
用冒泡法对8个数排序(从小到大)。
分析:将相邻两个数进行比较,将大数调换到后面,经过一 轮操作将最大数放在最后; 7次, j=0; j<7-i; a[j]>a[j+1] ? <-> 再对前n-1个数进行相同的比较交换操作,将次大数 放在倒数第二的位置; 7次, i=0; i<7; …大数不断下沉,小数不断上冒…直至所有数都按从 小到大排列。 3 4 7 0 2 8 7 1 a[0] a[7]
C语言复习常见题目复习
讲课教师:原子章 2012-3-11
第一章C语言程序设计基础
预编译命令 源程序文件1
┇ C程序 源程序文件j ┇ 源程序文件m 外部数据说明 函数1 ┇ 函数i ┇ 语句序列 内部数据定义
函数n
C语言程序结构
第一章C语言程序设计基础
• • • • • • • 1、以下选项中,合法的一组C语言用户标识符是( A )。 [A] and [B] Date [C] Hi [D] case _2007 y-m-d Dr.Tom Big1 2. 以下符合C语言语法的赋值表达式是( B )。 [A]d=9+e+f=d+9 [B]d=9+e,f=d+9 [C]d=9+e+=d+9 [D]d=9+e++=d+9 3.以下选项中,合法的一组C语言数值常量是( B )。 [A] 028 [B] 12. [C] .177 [D] 0x8A • .5e-3 0xa23 4e1.5 10,000 • -0xf 4.5e0 0abc 3.e5
2013年 C语言试卷
湖北科技学院2013学年春季学期2012级非计算机本科专业《高级语言程序设计(C语言)》期末考试试卷(A卷、闭卷)一.选择题:(每小题1分,共40分)1.C语言规定,必须用()作为主函数名。
A)Function B)include C)main D)stdio2.下列说法正确的是()。
A)在执行C程序时不是从main函数开始的B)C程序书写格式严格限制,一行内必须写一个语句C)C程序书写格式自由,一个语句可以分写在多行上D)C程序书写格式严格限制,一行内必须写一个语句,并要有行号3.下列字符串是用户标识符的是()。
A)_HJ B)9_student C)long D)float4.下列数据中是合法的整型常量的是()。
A)3E2B)029C)-32768D)6e+0075.语句int k,i=3;k=(i++)+(i++)+(i++);执行过后k和i的值分别为()。
A)9,6B)12,5C)18,6D)15,56.10+’a’+1.5-567.345/’b’的结果是()型数据。
A)long B)double C)int D)unsigned float7.在C语言中,下列类型属于构造类型的是()。
A)整型B)指针类型C)实型D)结构体类型8.在C语言中,退格符是()。
A)\n B)\t C)\v D)\b9.下列符号中,可以作为变量名的是()A)+c B)*X C)_DAY D)next-day10.以下程序的输出结果是()void main(){unsigned char a=2,b=4,c=5,d;d=a|b;d&=c;printf("%d\n",d);}A)3B)4C)5D)611.若已知a=5,b=10,则表达式a==b的值为()。
A)10B)20C)1D)012.已有定义”int a=-2;”和输出语句”printf(“%8x”,a);“,以下正确的叙述是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题1.下列叙述中正确的是()。
A) C语言编译时不检查语法B) C语言的子程序有过程和函数两种C) C语言的函数可以嵌套调用D) C语言所有函数都是外部函数2.以下所列的C语言常量中,错误的是()。
A) 0xFF B) 1.2e0.5 C) 2L D) '\72'3.下列选项中,合法的C语言关键字是()。
A) VAR B) cher C) integer D) default4.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()。
A) -3 B) 9 C) -12 D) 65.设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为()。
A) 不定值 B) 4 C) 3 D) 16.若变量c为char类型,能正确判断出c为小写字母的表达式是()。
A) 'a'<=c<= 'z' B) (c>= 'a')||(c<= 'z')C) ('a'<=c)and ('z'>=c) D) (c>= 'a')&&(c<= 'z')7. 若变量已正确说明为float类型,要通过语句scanf("%f %f %f ",&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:()。
A) 10<回车>22<回车>33<回车>B) 10.0,22.0,33.0<回车>C) 10.0<回车>22.0 33.0<回车>D) 10 22<回车>33<回车>8. 有以下程序:main(){int a,b,d=25;a=d/10%9;b=a&&(-1);printf("%d,%d\n",a,b);}程序运行后的输出结果是()。
A)6,1 B)2,1 C)6,0 D)2,09. 若执行以下程序时从键盘上输入9,则输出结果是()。
void main(){int n;scanf("%d",&n);if(n++<10) printf("%d\n",n);else printf("%d\n",n--);}A) 11 B) 10 C) 9 D) 810.以下函数调用语句中含有()个实参。
func((e1+e2),(e3+e4+e5));A) 2 B) 3 C) 5 D)语法错误11.设i和k都是int类型,则for循环语句()。
for(i=0,k=-1;k=1;i++,k++) printf("****\n");A)循环结束的条件不合法 B)循环体一次也不执行C)循环体只执行一次 D) 是无限循环12.以下程序的输出结果是()。
main(){ int a, b;for(a=1, b=1; a<=100; a++){if(b>=10) break;b+=3; }printf("%d\n",a);}A) 101 B) 6 C) 5 D) 413. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是()。
A) 3 B) 6 C) 10 D) 2014. 以下程序的输出结果是()。
main(){ int i, a[10];for(i=9;i>=0;i--) a[i]=10-i;printf("%d%d%d",a[2],a[5],a[8]);}A) 258 B) 741 C) 852 D) 36915、如a为int型,则与表达式a等价的C语言关系表达式是()A)a>0 B)a!=0 C)a==0 D)a<016、在C语言中,下面关于数组的描述中正确的是()A)数组的大小是固定的,但可以有不同的类型的数组元素B)数组的大小是可变的,但所有数组元素的类型必须相同C)数组的大小是固定的,但所有数组元素的类型必须相同D)数组的大小是可变的,但可以有不同的类型的数组元素17、在C语言中,不正确的int类型的常数是()。
A)32768 B)0 C)037 D)0xAI18、以下程序的输出结果是()main( ){ int a= -1,b=1,k;if((++a<0)&& ! (b-- <=0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a); }A)-1 1 B)0 1 C)1 0 D)0 019、 C语言中运算对象必须是整型的运算符是()A) % B) / C) = D) 〈= 20.C语言源程序的基本单位是()。
A)过程 B)函数 C)子程序 D)标识符21.下列程序的输出结果是()。
main( ){ int a=7,b=5;printf("%d\n",b=b/a);}A) 5 B) 1 C) 0 D)不确定值22、设 int a=12; 表达式a+=a-=a*=a 的值是( )。
A) 12 B) 144 C) 0 D) 13223、以下程序的输出结果是( )。
main( ){ int a=011;printf(“%d\n ”,a);}A) 12 B) 11 C) 10 D) 924、数组名作为实参传递给形参时,数组名被处理为( )。
A) 该数组的长度 B) 该数组的元素个数C) 该数组的首地址 D) 该数组中各元素的值25、两个指针变量不可以( )。
A)相加 B)比较 C)相减 D)指向同一地址26.设a 为int 型变量,执行下列赋值语句后,a 的取值分别是( )。
a=125.534; a=(int)125.521%4; a=5<<2;A ) 125,31,1B ) 125,1,20C ) 125,31,20D ) 125.534,2,2027、enum color {red,green,yellow=5,white,black};定义了一枚举类型。
值表中各 标符的枚举值依次为( )A) 1、2、3、4、5B)0、1、5、2、3 C) 0、1、5、6、7 D) 3、4、5、6、728、请选出可用作C 语言用户标识符的一组标识符( )A) void B) a3_b3 C) For D) 2adefine _123 -abc DOWORD IF Case sizeof29、假设在程序中a 、b 、c 均被定义成整型,并且已赋大于1的值, 则下列能正确 表示代数式 abc 1的表达式是( )A)1/a * b * C B)1/(a * b * c)C)1/a/b(float)c D)1.0/a/b/c30.能正确表示a 和b 同时为正或同时为负的逻辑表达式是( )。
A)(a>=0‖b>=0)&&(a<0‖b<0) B)(a>=0&&b>=0)&&(a<0&&b<0)C)(a+b>0)&&(a+b<=0) D)a*b>031.在以下一组运算符中,优先级最高的运算符是()。
A)<= B)= C)% D)&&32、有如下程序:main(){ float x=2.0,y;if(x<0.0) y=0.0;else if(x<10.0) y=1.0/x;else y=1.0;printf(“%f\n”,y);}该程序的输出结果是()A) 0.000000 B) 0.250000 C) 0.500000 D) 1.00000033、若k为整形,则while循环执行()次。
k=2;while(k=0)printf(“%d”,k);k--;printf(“\n”);A) 10 B) 1 C) 0 D) 无数次34、执行下面程序片段的结果是()int x=23;do{printf("%2d",x--);}while(!x);A)打印出321 B)打印出23C)不打印任何内容 D)陷入死循环35.设有如下的变量定义:int i =8,k ,a,b;unsigned long w=5;double x=1.42,y=5.2;则以下符合C语言语法的表达式是()。
A)a+=a-=(b=4)*(a=3) B)x%(-3); C)a=a*3=2 D)y=float(i)36.设x和y均为int 型变量,则以下语句:x+ =y; y=x-y; x-=y;的功能是()。
A)把x 和y按从大到小排列 B)把x和y按从小到大排列C)无确定结果 D)交换x和y中的值37、以下程序的输出结果是()main( ){ int i;for(i=1;i<6;i++){ if(i%2){printf("#");continue;}printf("*");}printf("\n");}A)#*#*# B)##### C)***** D)*#*#*38、(设有char a[5],*p=a;)下面的选项中正确的赋值语句是()。
A)p=p+2; B)a=a+2;C)*p=“abcd”; D)*a=“abcd”;39、以下程序的输出结果为()。
#define CUBE(x) (x*x*x)#include "stdio.h"main( ){int i=4;i=CUBE(i);printf("%d\n",i);}A) 17 B) 64 C) 125 D) 5340、要打开一个已存在的非空文件"file"用于修改,选择正确的语句()。
A) fp=fopen("file","r"); B) fp=fopen("file","w");C) fp=fopen("file","r+"); D) fp=fopen("file","w+");41.有以下语句:int b;char c[10];,则正确的输入语句是()。