C语言测试卷及答案
C语言试卷(含答案)

一、单项选择题(每小题2分,共40分)1、sizeof(float)是()A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式2、设 i 是int 型变量,f 是float 型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f);为了把100 和分别赋给i 和f,则正确的输入为()。
A. 100B.i=100,f=765.12C. 100<回车>D. x=100y=3、#include<>voidmain(){inta=3,b=2,c=1;intx=10,y=20;if(a<b)if(b!=0)if(!x)y=1;elseif(x)y=0;y=-1;printf("%d",y);} 上面的C 程序的输出结果是()。
A. 20B.1C.0D.-14、C 语言中,while 和do …while循环的主要区别是()。
A. do …while的循环体至少无条件执行一次B. while 的循环控制条件比 do …while的循环控制条件严格C. do …while允许从外部转到循环体内D. do …while的循环体不能是复合语句5、执行下面的 C 程序段后,输出结果是()。
inta=5;while(a--);printf("%d",a);A. 54321B. 4321C.0D.-16、在 C 语言中,()是在所有函数外部声明的。
A. 全局变量B. 局部变量C.形参D.实参7、分析下面的 C 程序:#include<>voidmain(){intnum=0;while(num<=2){num++;printf("%d",num);}}输出结果是()。
A. 123B. 012C.23D.128、下面的 C 语言代码段的输出结果是()。
计算机C语言试卷含答案

自信考试 诚信做人哈尔滨工业大学(威海)2011/2012学年春季学期C 语言程序设计 笔试试题(A 卷)题号 一二三四五六笔试(70%) 综合 (30%) 总分分数1. 笔试卷面总分100分,取卷面成绩的70%计入总分;2. 综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%;3. 答题时禁止拆开试卷钉,试卷背面即为草稿纸;4. 答题时间120分钟。
一、单项选择题。
请把答案填入下面框中,不允许出框线。
(本题16分,每小题1分)题号 1 2 3 4 5 6 7 8 答案 题号 9 10 11 12 13 14 15 16 答案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=x2. 以下C 语言标识符中,不合法的是( )。
A) _2 B) a_b C) a--b D) AaBc3. C 语言允许函数类型默认定义,此时该函数值隐含的类型是( )。
A) float B) int C) long D) double4. 若有定义 int (*p)[3];则下列说法正确的是( )。
A) 定义了基类型为int 的三个指针变量B) 定义了一个名为 *pt 、具有三个元素的整型数值C) 定义了一个名为pt 的指针变量,它可以指向每行有三个整数元素的二维数组D) 定义了基类型为int 的具有三个元素的整型数组号学名姓注意行为规范 遵守考试纪律自信考试诚信做人5.有以下程序#include <stdio.h>main(){int a=1,b=0;if(!a)b++;else if(a==0)if(a) b+=2;else b+=3;printf("%d\n",b);}则程序输出( )。
A) 0 B) 1 C) 2 D) 36.有以下程序段#include <stdio.h>main(){int x=10;while(x--);printf("x=%d\n",x);}则最后的输出结果是:( )。
C语言试卷及答案

一、选择题。
(每空2分,共计40分)本试卷包括第一卷和第二卷,答卷时间总共120分钟)第一卷第一部分:基础知识(20项,共40分)1.一个C语言程序是由(C )组成的。
A.主程序B.子程序C.函数D.过程2.转换说明符%x的输出形式是(C )。
A.十进制B.八进制C.十六进制D.二进制3.若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a!=b;++a,++b)printf ( “------------“) ;的正确说法是(C )。
A.循环体只执行一次B.死循环C.循环体一次也不执行D.输出----------- 4.若x、y、z均为int 型变量,则执行下列语句后的z值为( A )。
x=1; y=2; z=3; z=(x>y)?z :y ; z = (z<y)?z:x;A.1 B.4 C.2 D.35.下面标识符中,合法的用户标识符为(D )。
A.P#Ad B.12a C.char D._int6.‘A’+ 3 的结果是( B )。
A.’A’B.’D’的ASCⅡ码C.65 D.3 7.语句char str[20];说明str是一个字符串,最多能表示( B )。
A.20个字符B.19个字符C.18个字符D.21个字符8.将int 型变量n转换成float型变量的方法是( B )。
A.float n B.(float)n C.float(n) D.21个字符9.以下不正确的描述是( C )。
A.使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成B.while循环是先判断表达式后执行循环体语句C.do-while和for循环均是先执行循环体语句,后判断表达式D.for、while、do-while循环中的循环体均可以由空语句构成10.在循环中使用break 语句的功能是( A )。
A.使程序的执行跳出break所在的那一重循环B.使程序执行结束C.跳出包含此break语句的所有循环D.终止本次循环,继续下次循环11.下面是一个初始化指针的语句:int *px = &a;其中指针变量的名字应该是(C )。
(完整版)C语言试卷及答案

(完整版)C语言试卷及答案一、选择题(每题2分,共40分)1、C语言源程序的基本单位是( )A.程序行B.语句C.函数D.字符2、C语言规定:在一个源程序中,main函数的位置()。
A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后3、在下列字符列中,合法的标识符是( )A.p12&.aB.stud_100C. water$12D.88sum4、在C语言中,要求运算的数必须是整数的运算符是()A./B.!C.%D.= =5、设有语句 int a =3;则执行了语句a + = a - = a*a;后,变量a 的值是()A、3B、0C、9D、-126、设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a > b)&&(n=c>d)后n的值为()A、1B、2C、3D、47、执行下列程序时输入:1234567,程序的运行结果是()main(){int x,y;scanf(“%2d%*2c%1d”,&x,&y);printf(“%d\n”,x+y);}A.17B.46C.15D.98、下述程序的输出结果是() #includevoid main(){int x=-1,y=4;int k;k=++x<=0&&!(y--<=0);printf("%d,%d,%d",k,x,y);}A.0,0,3B.0,1,2,C.1,0,3,D.1,1,29、为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。
A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if10、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()main(){int x;scanf(“%d“,&x);if(x++>5)printf(“%d”,x);else printf(“%d\n”,x--);}A.7和5B.6和3C.7和4D.6和411、若变量c为char类型,能正确判断出c为小写字母的表达式是( )A. 'a'<=c<= 'z'B. (c>= 'a')||(c<= 'z')C. ('a'<=c)and ('z'>=c)D. (c>= 'a')&&(c<= 'z')12、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是。
c语言测试题目及答案精选

c语言测试题目及答案精选c语言测试题目及答案篇一(c语言)是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。
以下是我为大家搜寻整理的c语言测试题及答案解析,盼望能给大家带来关心!更多精彩内容请准时关注我们应届毕业生(考试)网!1.(a )是构成c语言程序的基本单位。
a、函数b、过程c、子程序d、子例程2.c语言程序从c 开头执行。
a、程序中第一条可执行语句b、程序中第一个函数c、程序中的main函数d、包含文件中的第一个函数3、以下说法中正确的是( c )。
a、c语言程序总是从第一个定义的函数开头执行b、在c语言程序中,要调用的函数必需在main( )函数中定义c、c语言程序总是从main( )函数开头执行d、c语言程序中的main( )函数必需放在程序的开头部分4.下列关于c语言的说法错误的是( b ) 。
a、c程序的工作过程是编辑、编译、连接、运行b、c语言不区分大小写。
c、c程序的三种基本结构是挨次、选择、循环d、c程序从main函数开头执行5.下列正确的标识符是(c)。
a、-a1b、a[i]c、a2_id、int t5~8题为相同类型题考点:标识符的命名规章只能由字母、数字、下划线构成数字不能作为标识符的开头关键字不能作为标识符选项a中的“-” ,选项b中“[”与“]”不满意(1);选项d中的int为关键字,不满意(3)6.下列c语言用户标识符中合法的是(b )。
a、3axb、xc、cased、-e2 e)union选项a中的标识符以数字开头不满意(2);选项c,e均为为关键字,不满意(3);选项d中的“-”不满意(1);7.下列四组选项中,正确的c语言标识符是( c )。
a、%xb、a+bc、a123d、123选项a中的“%” ,选项b中“+”不满意(1);选项d中的标识符以数字开头不满意(2)8、下列四组字符串中都可以用作c语言程序中的标识符的是( a)。
完整word版,C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是( )A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是( )A、ABCB、abcC、a_bcD、ab.c3、一个C语言程序是由( )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( )A、intB、floatC、doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是( )A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是( ) 。
#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b; float x,则正确的赋值语句是( )A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是( )#include<stdio.h>{int i=10,j=10;printf("%d,%d\n",++i,j--);}A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是( )#include<stdio.h>main(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是( )A、<B、十C、%D、!=12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。
c语言试卷集(10套)-试题及答案

c语言试卷集(10套)-试题及答案C语言试卷集(10套)-试题及答案试卷一一、选择题(每题2分,共20分)1. C语言中,用于表示逻辑“真”的值是()。
A. 0B. 1C. -1D. 任意非零值答案:B2. 下列哪个选项是C语言中的合法变量名?()A. 2variableB. variable2C. variable_2D. variable!答案:C3. C语言中,用于定义一个整型数组的语句是()。
A. int array[10];B. int [10] array;C. int 10 array;D. int array=10;答案:A4. 下列哪个选项是C语言中的合法字符串常量?()A. "Hello"B. 'Hello'C. "HelloD. Hello答案:A5. C语言中,用于表示逻辑“假”的值是()。
A. 0B. 1C. -1D. 任意非零值答案:A6. 下列哪个选项是C语言中的合法浮点数常量?()A. 3.14B. 314.C. .314D. 3.14E答案:A7. C语言中,用于定义一个整型变量的语句是()。
A. int x;B. var x;C. x int;D. int = x;答案:A8. 下列哪个选项是C语言中的合法字符常量?()A. 'A'B. "A"C. 'AB'D. "AB"答案:A9. C语言中,用于定义一个字符数组的语句是()。
A. char array[10];B. char [10] array;C. char 10 array;D. char array=10;答案:A10. C语言中,用于表示字符常量的是()。
A. 'A'B. "A"C. AD. "A"答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个整型变量并初始化为0的语句是()。
C语言试卷(含答案)

一、单项选择题(每小题2分,共40分)1、sizeof(float)是()A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式2、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f);为了把100和分别赋给i和f,则正确的输入为()。
A. 100B. i=100,f=765.12C. 100<回车>D. x=100y=3、#include<>voidmain(){inta=3,b=2,c=1;intx=10,y=20;if(a<b)if(b!=0)if(!x)y=1;elseif(x)y=0;y=-1;printf("%d",y);}上面的C程序的输出结果是()。
A. 20B. 1C. 0D. -14、C语言中,while和do…while循环的主要区别是()。
A. do…while的循环体至少无条件执行一次B. while的循环控制条件比do…while的循环控制条件严格C. do…while允许从外部转到循环体内D. do…while的循环体不能是复合语句5、执行下面的C程序段后,输出结果是()。
inta=5;while(a--);printf("%d",a);A. 54321B. 4321C. 0D. -16、在C语言中,()是在所有函数外部声明的。
A. 全局变量B. 局部变量C. 形参D.实参7、分析下面的C程序:#include<>voidmain(){intnum=0;while(num<=2){num++;printf("%d",num);}}输出结果是()。
A. 123B. 012C. 23D. 128、下面的C语言代码段的输出结果是()。
C语言测试题(附有详细解析)

C语言测试题(附有详细解析)一、选择题1. 下面哪个选项是C语言的合法标识符?A. voidB. 2varC. intD. _temperature解析:C语言的标识符必须以字母或下划线开头,后面可以跟字母、数字或下划线。
选项A和C是C语言的关键字,不能作为标识符。
选项B以数字开头,不合法。
选项D符合标识符的规则,是正确的。
2. 在C语言中,哪个关键字用于定义整型变量?A. floatB. intC. doubleD. char解析:在C语言中,关键字`int`用于定义整型变量。
选项A 用于定义浮点型变量,选项C用于定义双精度浮点型变量,选项D用于定义字符型变量。
因此,正确答案是B。
3. 下面哪个选项是C语言中的逻辑运算符?A.++B. &&C. ||D. !=解析:C语言中的逻辑运算符包括`&&`(逻辑与)和`||`(逻辑或)。
选项A是自增运算符,选项D是不等于运算符,因此正确答案是B和C。
二、填空题4. 下面代码的输出是什么?```c#include <stdio.h>int main() {int x = 5;printf("%d\n", x++);return 0;}```解析:这段代码的输出是5。
在`printf`语句中,`x++`是后缀自增运算符,它先输出x的当前值5,然后x的值增加1。
因此,输出为5。
5. 下面代码的输出是什么?```c#include <stdio.h>int main() {int x = 5, y = 10;printf("%d\n", x > y ? x : y);return 0;}```解析:这段代码的输出是10。
条件运算符`?:`是一个三元运算符,它根据第一个表达式的值来选择第二个或第三个表达式。
在这个例子中,`x > y`是假的,所以输出是`y`的值,即10。
c语言分支程序设计测试题目及答案

c语言分支程序设计测试题目及答案1. 单选题:以下哪个关键字用于C语言中的条件语句?A. ifB. elseC. whileD. for答案:A2. 判断题:以下代码段能否正确判断一个整数是否为偶数?```cint num = 10;if (num % 2 == 0)printf("偶数");elseprintf("奇数");```正确错误答案:正确3. 填空题:在C语言中,以下代码段的功能是____。
```cint a = 5;if (a > 0)printf("正数");else if (a == 0)printf("零");elseprintf("负数");```答案:判断变量a的正负4. 简答题:请解释C语言中的三元运算符的用法。
答案:C语言中的三元运算符是 `条件表达式 ? 表达式1 : 表达式2`,其中条件表达式为真时,执行表达式1,否则执行表达式2。
5. 编程题:编写一个C语言程序,判断用户输入的年份是否为闰年。
```c#include <stdio.h>int main() {int year;printf("请输入一个年份:");scanf("%d", &year);if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) printf("%d是闰年。
\n", year);elseprintf("%d不是闰年。
\n", year);return 0;}```6. 多选题:以下哪些条件可以使得if语句执行其内部代码块?A. 条件表达式为真B. 条件表达式为假C. 条件表达式返回非零值D. 条件表达式返回零值答案:AC7. 改错题:以下代码段中存在错误,请指出并修改。
C语言机试试卷及答案

试卷编号:480所属语言:C语言试卷方案:C语言测验试卷总分:100分共有题型:3种一、单选共30题(共计60分)第1题(2.0分)题号:5515 难度:中第8章C语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是(). A:地址传递B:单向值传递C:由实参传给形参,再由形参传回给实参D:由用户指定的传递方式答案:B第2题(2.0分)题号:5448 难度:中第7章若有说明:int a[10];则对a数组元素的正确引用是().A:a[10]B:a[3,5]C:a(5)D:a[10-10]答案:D第3题(2.0分)题号:5291 难度:中第2章下列程序的输出结果是().main(){char c1=97,c2=98;printf("%d %c",c1,c2);}A:97 98B:97 bC:a 98D:a b答案:B第4题(2.0分)题号:5230 难度:中第2章在C语言中,char型数据在内存中的存储形式是().A:补码B:反码C:原码D:ASCII码答案:D第5题(2.0分)题号:5420 难度:中第6章语句while(!E);中的表达式!E等价于().A:E==0B:E!=1C:E!=0D:E==1答案:A第6题(2.0分)题号:5429 难度:中第6章若i为整型变量,则以下循环执行次数是().for(i=2;i==0;) printf("%d",i--);A:无限次B:0次C:1次D:2次答案:B第7题(2.0分)题号:5526 难度:中第8章C语言程序中,若对函数类型未加显式说明,则函数的隐含说明类型为(). A:voidB:doubleC:intD:char答案:C第8题(2.0分)题号:5233 难度:中第2章下列标识符中,不合法的C语言用户自定义标识符是().A:printfB:enumC:_D:sin答案:B第9题(2.0分)题号:5540 难度:中第8章下列程序运行结果为:#define P 3#define S(a) P*a*amain(){int ar;ar=S(3+5);printf("\n%d",ar);}A:192B:29C:27D:25答案:B第10题(2.0分)题号:5205 难度:易第1章C语言源程序名的后缀是().A:exeB:cC:objD:cp答案:B第11题(2.0分)题号:5426 难度:中第6章有以下程序段int n=0,p;do{scanf("%d",&p);n++;}while(p!=12345&&n<3);此处do-while循环的结束条件是().A:p的值不等于12345并且n的值小于3B:p的值等于12345并且n的值大于等于3C:p的值不等于12345或者n的值小于3D:p的值等于12345或者n的值大于等于3答案:D第12题(2.0分)题号:5498 难度:中第8章以下正确的函数定义形式是().A:double fun(int x,int y)B:double fun(int x;int y)C:double fun(int x,int y);D:double fun(int x,y);答案:A第13题(2.0分)题号:5437 难度:中第6章C语言中while和do—while循环的主要区别是().A:While的循环控制条件比do—while的循环控制条件严格B:do—while的循环体至少无条件执行一次C:do—while允许从外部转到循环体内D:do—while循环体不能是复合语句答案:B第14题(2.0分)题号:5400 难度:中第5章int a=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;则a的值为().A:1B:2C:3D:不一定答案:A第15题(2.0分)题号:5406 难度:中第5章以下不正确的定义语句是().A:double x[5]={2.0,4.0,6.0,8.0,10.0};B:int y[5]={0,1,3,5,7,9};C:char c1[]={'1','2','3','4','5'};D:char c2[]={'\x10','\xa','\x8'};答案:B第16题(2.0分)题号:5278 难度:中第2章char a[]="This is a program.";输出前5个字符的语句是().A:printf("%.5s",a);B:puts(a);C:printf("%s",a);D:a[5*2]=0;puts(a);答案:A第17题(2.0分)题号:5435 难度:中第6章执行语句 for(i=1;i++<4;); 后变量 i 的值是().A:3B:4C:5D:不定答案:C第18题(2.0分)题号:5257 难度:中第2章下列数据中,为字符串常量的是().A:AB:"house"C:How do you do.D:$abc答案:B第19题(2.0分)题号:5567 难度:中第10章若有int i=3,*p;p=&i;下列语句中输出结果为3的是().A:printf("%d",&p);B:printf("%d",*i);C:printf("%d",*p);D:printf("%d",p);答案:C第20题(2.0分)题号:5271 难度:中第2章若有说明语句:char c='\72';则变量c().A:包含1个字符B:包含2个字符C:包含3个字符D:说明不合法,c的值不确定答案:A第21题(2.0分)题号:5442 难度:易第6章从循环体内某一层跳出,继续执行循环外的语句是().A:break语句B:return语句C:continue语句D:空语句答案:A第22题(2.0分)题号:5277 难度:中第2章以下不正确的叙述是().A:在C程序中所用的变量必须先定义后使用B:程序中,APH和aph是两个不同的变量C:若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变D:当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值答案:D第23题(2.0分)题号:5383 难度:中第4章以下不符合C语言语法的赋值语句是().A:a=1,b=2B:++j;C:a=b=5;D:y=(a=3,6*5);答案:A第24题(2.0分)题号:5507 难度:中第8章以下函数调用语句中实参的个数是().exce((v1,v2),(v3,v4,v5),v6);A:3B:4C:5D:6答案:A第25题(2.0分)题号:5416 难度:中第6章下列程序的输出为().main(){ int y=10;while(y--);printf("y=%d\n",y);}A:y=0B:while构成无限循环C:y=1D:y=-1答案:D第26题(2.0分)题号:5449 难度:中第7章下列字符数组长度为5的是().A:char a[]={'h', 'a', 'b', 'c', 'd'};B:char b[]= {'h', 'a', 'b', 'c', 'd', '\0'};C:char c[10]= {'h', 'a', 'b', 'c', 'd'};D:char d[6]= {'h', 'a', 'b', 'c', '\0' };答案:A第27题(2.0分)题号:5208 难度:中第1章以下叙述中正确的是().A:构成C程序的基本单位是函数B:可以在一个函数中定义另一个函数C:main()函数必须放在其它函数之前D:所有被调用的函数一定要在调用之前进行定义答案:A第28题(2.0分)题号:5451 难度:中第7章int a[10];给数组a的所有元素分别赋值为1、2、3、……的语句是().A:for(i=1;i<11;i++)a[i]=i;B:for(i=1;i<11;i++)a[i-1]=i;C:for(i=1;i<11;i++)a[i+1]=i;D:for(i=1;i<11;i++)a[0]=1;答案:B第29题(2.0分)题号:5256 难度:中第2章在C语言中,int、char和short三种类型数据在内存中所占用的字节数(). A:由用用户自己定义B:均为2个字节C:是任意的D:由所用机器的机器字长决定答案:D第30题(2.0分)题号:5262 难度:中第2章以下数据中,不正确的数值或字符常量是().A:0B:5LC:o13D:9861答案:C二、程序填空共2题(共计20分)第1题(10.0分)题号:333 难度:易第6章/*-------------------------------------------------------【程序填空】---------------------------------------------------------功能:下面的程序是求1!+3!+5!+……+n!的和。
c语言期末考试题及答案及解析

c语言期末考试题及答案及解析一、选择题(每题2分,共20分)1. 下列哪个是C语言的标准输入输出库函数?A. printf()B. scanf()C. getchar()D. All of the above答案:D解析:在C语言中,标准输入输出库函数包括printf()、scanf()和getchar()等,它们都用于输入输出操作。
2. 以下哪个不是C语言的关键字?A. intB. floatC. doubleD. string答案:D解析:int、float和double都是C语言的基本数据类型关键字,而string不是C语言的关键字,它是C++中的一个类。
3. 以下哪个语句可以正确地声明一个整型数组?A. int arr[10];B. int [10] arr;C. Both A and BD. None of the above答案:C解析:在C语言中,数组的声明可以是int arr[10];也可以是int [10] arr;,两者都是正确的声明方式。
4. 下列哪个是正确的C语言函数定义?A. int myFunction(int x, int y) { /* ... */ }B. void myFunction(int x, int y) { /* ... */ }C. Both A and BD. None of the above答案:C解析:在C语言中,函数定义可以返回int类型,也可以是void类型,表示没有返回值。
5. 以下哪个是正确的C语言循环结构?A. forB. whileC. do-whileD. All of the above答案:D解析:C语言支持多种循环结构,包括for循环、while循环和do-while循环。
6. 以下哪个是C语言的位运算符?A. &&B. ||C. &D. All of the above答案:C解析:&是C语言的位运算符之一,用于按位与操作。
C语言试题及答案

一、填空题(每空 2分,共 20分)1、C程序是由函数构成的,其中有且只能有 1 个主函数,每个C程序总是从它开始执行,并且以 ; 作为结束符。
2、C语言中三大基本结构有:顺序结构、选择循环、。
3、‘A’+3的结果是 68 。
4、若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是 2.5 。
5、C语言中逻辑运算符 ! 的优先级高于算术运算符。
6、符号“a”和‘a’的区别是”a”为字符串,占两个字节空间,’a’为字符,占1个字节空间。
7、C语言的预处理语句以____#_____开头。
8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是a=1,b=3,c=2。
二、选择题(每 2分,共 20 分)1、下列叙述中错误的是( D )。
A、 if语句允许用户选择是否执行某个操作。
B、 if else 语句允许用户选择执行两个操作中的某个操作。
C、 switch语句允许用户选择执行多个操作中的某个操作D、多分支选择结构只能使用switch语句实现2、以下不正确的C语言标识符是( D )A、ABCB、abcC、a_bcD、ab.c3、按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( B )。
A、大写字母B、连接符C、数字字符D、下划线4、将int型变量n转换成float型变量的方法是( B )。
A、float nB、(float)nC、float(n)D、(int)n5、( A )是构成C语言的基本单位。
A、函数B、子函数C、过程D、子过程6、下面关于运算符优先顺序的描述中正确的是(B )。
A、关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符B、逻辑运算符< 关系运算符< 算术运算符< 赋值运算符C、赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符D、算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符7、在C语言中,要求参加运算的数必须是整数的运算符是( C )。
C语言试卷及答案

for(i=0;c=s[i];i++)
if(c==’’) word=0;
else if(word==0)
{word=1;num++;}
printf(“%d\n”,num);
}
(A)2 (B)3 (C)4 (D)5
33.以下程序运行结果是 A
。
#include<string.h>
main() {char s[50]=”1234567”,*p=s; int i; i=*(p+5)-*(p+2); printf(“%d\n”,i*strlen(s)); }
(A)double (B)char (C)int (D)float
10. C 语言中要求操作数必须是整数的运算符是 B
。
(A)/ (B)%
(C)!= (D)=
11.用 scanf(“%d,%d”,&a,&b)输入数据时,下面输入法中正确的是 A 。
(A)123,4 (B)123 4 (C)123;4 (D)
(C)C 语言本是没有输入输出语句。
(D)在对一个 C 程序进行编译的过程中,可发现注释中的拼写错误。
4.以下叙述不正确的是 D
。
(A)逗号运算符的运算级最低。
(B)ABC 和 abc 是两个不同的变量。
(C)若 a 和 b 类型相同,在执行 a=b 后,b 的自身值不变。
(D)‘a’和“a”是完全等价的常量。
(A)for(i=1,p=1;i<=5;i++) p*=i;
(B)for(i=1;i<=5;) { p=1;p*=i;i++;}
(C)i=1;p=1;while(i<=5) { p*=i;i++;}
(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。
()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。
()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。
()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。
答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。
答案:911. 在C语言中,用于动态分配内存的函数是______。
答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。
答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。
答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。
答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。
c语言期末测试题(附答案)

c语⾔期末测试题(附答案).课程代码:A100002座位号:《计算机技术基础(C语⾔)》试卷A 姓名: 学号: 专业:学院: 班级:20 年⽉⽇第⼀部分选择题(共30 分)⼀、单项选择题(本⼤题共15 ⼩题,每题只有⼀个正确答案,答对⼀题得 2 分,共30 分)1、以下关于C语⾔标识符的描述中,正确的是【】。
A)标识符可以由汉字组成B)标识符只能以字母开头C)关键字可以作为⽤户标识符D)Area与area是不同的标识符2、使下列程序段输出“123,456,78”,键盘输⼊数据,正确的输⼊是【】。
int i,j,k;scanf(“%d,%3d%d”,&i,&j,&k);printf(“%d,%d,%d\n”,i,j,k);A)12345678 B)123,456,78 C)123,45678 D)123,*456783、判断char类型的变量c1是否为数字字符的正确表达式为【】。
A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’)C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’)4、若有语句int a=1,b=2,c=3;则以下值为0的表达式是【】。
A)’a’&&’b’ B)a<=b C)((a>b)||(b5、已知:int a[2][3]; 则对数组元素的⾮法引⽤是【】A. *(a[0]+2)B. a[1][3] C . a[1][0] D. *(*(a+1)+2)6、在循环语句的循环体中执⾏break语句,其作⽤是【】。
A)跳出该循环体,提前结束循环B)继续执⾏break语句之后的循环体各语句C)结束本次循环,进⾏下次循环D)终⽌程序运⾏7、执⾏语句for(i=10;i>0;i--);后,变量i的值为【】。
C语言试题及答案

一、选择题D(1)算法的空间复杂度是指A)算法程序的长度B)算法程序中的指令条数C)算法程序所占的存储空间D)执行过程中所需要的存储空间C(2)用链表表示线性表的优点是A)便于随机存取B)花费的存储空间较顺序存储少C)便于插入和删除操作D)数据元素的物理顺序与逻辑顺序相同C(3)数据结构中,与所使用的计算机无关的是数据的A)存储结构B)物理结构C)逻辑结构D)物理和存储结构D(4)结构化程序设计主要强调的是A)程序的规模B)程序的效率C)程序设计语言的先进性D)程序易读性B(5)软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指A)模块间的关系B)系统结构部件转换成软件的过程描述C)软件层次结构D)软件开发过程01-05D C C D BA(6)检查软件产品是否符合需求定义的过程称为A)确认测试B)集成测试C)验证测试D)验收测试A(7)数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
下列图符名标识的图符不属于数据流图合法图符的是A)控制流B)加工C)数据存储D)源和潭C(8)应用数据库的主要目的是A)解决数据保密问题B)解决数据完整性问题C)解决数据共享问题D)解决数据量大的问题B(9)在数据库设计中,将E-R图转换成关系数据模型的过程属于A)需求分析阶段B)逻辑设计阶段C)概念设计阶段D)物理设计阶段A(10)在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
其中数据独立性最高的阶段是A)数据库系统B)文件系统C)人工管理D)数据项管理06-10A A C B AA(11)以下叙述中正确的是A)构成C程序的基本单位是函数B)可以在一个函数中定义另一个函数C)main()函数必须放在其他函数之前D)C函数定义的格式是K&R格式C(12)结构化程序所规定的三种最基本控制结构是A)输入、处理、输出B)树形、网形、环形C)顺序、选择、循环D)主程序、子程序、函数B(13)一个C语言程序是由A)一个主程序和若干子程序组成B)函数组成C)若干过程组成D)若干子程序组成B(14)请选出可用作C语言用户标识符的是A)void,define,WORDB)a3_b3,_123,IFC)FOR,--abc,CaseD)2a,Do,SizeofA(15)下列各数据类型不属于构造类型的是A)枚举型B)共用型C)结构型D)数组型11-15A C B B AD(16)在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是A)a=20000+20000;B)a=4000*10;C)a=30000+10000;D)a=4000L*10LD(17)以下不正确的叙述是A)在C程序中,逗号运算符的优先级最低B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值B(18)sizeof(float)是A)一个双精度型表达式B)一个整型表达式C)一种函数调用D)一个不合法的表达式C(19)若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为A)4B)16C)32D)52B(20)下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。
第一阶段C语言考核试题(含答案)

第一阶段C语言考核试题一、填空题1、把以下十进制数转换成二进制数和十六进制(15分)(1)151111F(2)431010112B(3)13231010010101152B二、请写出以下整型的英文形式与取值范围、字节数(15分)1、无符号基本整型2、长整型(范围用指数形式表示)3、有符号字符型unsigned int long char 216-1或0—65535−231—(231−1)-128—127 (27)241三、写出以下程序的运行结果(10分)Array #include<stdio.h>void main(){int a=3,b=7,c=5;c+=(a++)+(b%2);printf(“%d”,c);}9四、程序改错(直接在语句上改10分)#include<studio.h> ->int main(){int a;b;c;scan(“a”);if(a<10)a++;else if(a=>10)a+10;print(“a=%d/n,a”);return 0;}五、程序设计(50分)(额外分10)设计一个程序,要求达到以下功能①入一个0 – 100的数②设置ABCDE,5个区间,每个区间大小为20③判断输入的数位于哪个区间,并进行相应处理④输出这个数所在的区间⑤在A区间:判断这个数是否为奇数,如果是奇数则输出YES,否则NO在B区间:如果这个数是素数则输出(素数),否则求出小于它的最近素数并输出在C区间:如果这个数的ASCII码对应的字符是英文字符,输出这个字符在D区间:求出这个数所有的因数,并输出结果在E区间:数大于15或小于5,输出英文(I’m not newbie)数在12—8这个区间输出(第一阶段测试完成)。
C语言试题(答案带解析)

C语言试题(答案带解析)题目:编写一个C语言程序,实现以下功能:1. 输入一个字符串,长度不超过100个字符。
2. 统计并输出字符串中字母、数字、空格和其他字符的数量。
3. 删除字符串中所有的空格,并输出处理后的字符串。
4. 查找字符串中第一次出现字母 'a' 的位置,并输出位置(位置从0开始计算)。
5. 检查字符串是否为回文(忽略大小写和空格),如果是,输出"Yes",否则输出"No"。
试题代码如下:```c#include <stdio.h>#include <string.h>#include <ctype.h>int main() {char str[101];int alpha_count = 0, digit_count = 0,space_count = 0, other_count = 0;int i, a_position = -1;int len, is_palindrome = 1;// 输入字符串printf("Enter a string (up to 100 characters): ");fgets(str, 101, stdin);// 删除换行符len = strlen(str);if (str[len - 1] == '\n') {str[len - 1] = '\0';len--;}// 统计字符数量for (i = 0; i < len; i++) {if (isalpha(str[i])) {alpha_count++;if (str[i] == 'a') {a_position = i;}} else if (isdigit(str[i])) {digit_count++;} else if (isspace(str[i])) {space_count++;} else {other_count++;}}// 输出字符数量printf("Letters: %d\n", alpha_count); printf("Digits: %d\n", digit_count); printf("Spaces: %d\n", space_count); printf("Others: %d\n", other_count); // 删除空格并输出处理后的字符串char new_str[101];int j = 0;for (i = 0; i < len; i++) {if (!isspace(str[i])) {new_str[j++] = str[i];}}new_str[j] = '\0';printf("String without spaces: %s\n", new_str);// 查找字母 'a' 的位置if (a_position != -1) {printf("First occurrence of 'a' is at position: %d\n", a_position);} else {printf("'a' not found in the string.\n");}// 检查字符串是否为回文int start = 0, end = j - 1;while (start < end) {if (tolower(new_str[start]) !=tolower(new_str[end])) {is_palindrome = 0;break;}start++;end--;}if (is_palindrome) {printf("Yes\n");} else {printf("No\n");}return 0;}```解析:1. 程序首先通过 `fgets` 函数读取用户输入的字符串,并检查是否有多余的换行符。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
下笔如有神
以下叙述中正确的是:(A)
C程序的基本单位是函数
以下选项中非法的表达式是 :( D )
)0<=x<100 B)i=j==0
)(char)(65+3) D)x+1=x+1
下列条件语句中,功能与其他语句不同的是:(D)
、a*b/c; B、3.14%2 C、2, b D、a/b/c
下列不正确的字符常量是(C)
、'n' B、'1' C、a D、'101'
在 C 语言中,表示逻辑值“真”用 (B)
、1 B、非 0 的数 C、非 1 的数 D、 大于 0 的数
]) char argc, * argv[ void main(int
int {
char
for(k=2;
p)>0) if(strcmp(argv[k],
printf(%sn,
11
12.以下程序输出的结果是 0
把x、y定义成float类型变量,并赋同一初值3.14是(C)
、float x, y=3.14; B、float x, y=2*3.14;
、float x=3.14, y=x=3.14; D、float x=y=3.14;
若变量已正确定义,值不为2的表达式是(C)
、2&3 B、1<<1 C、a==2 D、1^3
若变量已正确定义,和语句“if(a>b) k=0; else k=1;”等价的是(C)
、k=(a>b)?1:0; B、k=a>b;
、k=a<=b; D、a<=b ? 0 : 1;
下列程序段的输出是___5__。
*p, *q, k = 5 , j = 6 ;
; p = q ; q = &j ;
*p);
函数
void f(char s[ ], char t[ ])
{ int k=0;
while (s[k]=t[k]) k++;
B) &aa[1] C) &aa[0]++ D) aa+1
有以下程序
(B)
以下程序的输出结果是:( A )
下笔如有神
)31 B) 13 C) 10 D) 20
有以下程序
当调用函数时,实参是一个数组名,则向函数传送的是 (B)
B) 数组的首地址
D) 数组每个元素中的值
以下程序的输出结果是 (A)
”, fun(3)); }
以下程序的输出结果是 (B)
”
下笔如有神
有以下程序
(D)
%dn, f(3,2,1), f(6, 5, f(3, 2, 1)));
下列程序段的输出是_*#*#____。
int k;
for(k=1; k<5; k++) {
2) % if(k
下笔如有神
else continue;
printf(#);
设变量定义为“int x, *p=&x;”,则&*p相当于(A)
、p B、*p C、x D、*&x
若变量已正确定义,不能使指针p成为空指针的是(A)
、p=EOF B、p=0 C、p='' D、p=NULL
下列选项中正确的语句组是 :( D )
char s[8]; s={Beijing}; B)char *s; s={Beijing};
)char s[8]; s=Beijing; D)char *s; s=Beijing;
有以下程序
printf(%on, 010<<1^1);
下列程序段的输出是__6,90____。
int k;
float s;
for (k=0, s=0; k < 7; k ++)
s += k/2;
k, s);
下列程序段的输出是__5,25_____。
f(a, b, x) a*x+b
{ c =a*b;
int
printf(”%dn”,c);}
D、无法确定 1 、 C、6 0 A、 B )A10. 在C程序中,若对
则函数的隐含类型为( D、char void C、 double 、Aint B、
对于以下的变量定义,不符合C语言语法的表达式是(D)
struct node {
int len;
char *pk;
} x = {2,
*p = &x;
、p->pk B、*p.pk C、*p->pk D、*x.pk
有如下程序
else if(b<=c) k=1; else if(b>c) k=1;
else k=0;
若程序中定义了以下函数 42.
下笔如有神读书破万卷
”,r);
(D)
对于基类型相同的两个指针变量之间,不能进行的运算是 (C)
有如下程序
”,fib(3));
(B)
有如下定义
M的语句是 (D)
”,class[3].mane);
”,class[3].name[1]);
”,class[2].name[1]);
”,class[2].name[0]);
以下所列的C语言常量中,错误的是 (B)
下笔如有神
有以下程序段
(A)
B) 有语法错,不能执行
D) 执行1次
以下程序的输出结果是 (C)
无定值
下列程序段的输出结果是 (A)
)的值是(B11. 表达式 strlen(”hello”)
D、 6 、 B A、4 、5 C
)D语言语法的表达式是(C,则不符合”a[4];int 设变量定义为“12.
下笔如有神
、*a B、a[0] C、a D、a++
以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是:( A )
B) if((a>b)||(b>c)) k=1;
else k=0; else k=0;
k=0; D)if(a>b) k=1;
下笔如有神
语言程序设计试卷(二)
1~30题每小题1分,31~45题每小题2分,共60分)
以下合法的用户自定义标识符是(D)。
、 b-b B、float C、<fr> D、 _isw
若变量已正确定义并赋值,以下不符合C语言语法的表达式是(B)。
}
void f(char *s, char *t)
{ while (_*s++=*t++____);
}
下列程序段的输出是_ ne,s ____。
wo}, **p=a;
-1);
下列程序编译后生成 t.exe, 运行 t input output zoo oil 的输出结果是 。__zoo__
以下不能定义为用户标识符的是 :( D )
)scanf B)Void C)_3com_ D)int
C语言中用于结构化程序设计的三种基本结构是:(A)
B) if、switch、break
while、do-while D) if、for、continue
( B )
)3 B)6 C)9 D)2
以下符合C语言语法的实型常量是:( C )
B) 3.14.159E C) .5E-3 D) E15
}
下列程序段的输出是__5 8___。
include <stdio.h>
f(int x)
static y=1;
y++;
x += y;
return x;
main()
int k;
k=f(3);
printf(%d %dn, k, f(k));
int i,len=0;
for(i=1;i<argc;i+=2) len+=strlen(argv[i]);
printf(“5d\n”,len);
ex.exe,若运行时输入以下带参数的命令行
abcd efg h3 k44
( D )
B)12 C)8 D)6
0值 D)一个非 C)-1 ) A)0 B1
) 语言数据文件的叙述中正确的是:( D 44. 下列关于C 语言只能读写文本文件 A)
ASCII码字符序列组成,C B)文件由二进制数据序列组成,C语言只能读写二进制
)文件由记录序列组成,可按数据存放形式分为二进制文件和文本文件 C )文件由数据
设变量定义为“int a, b;”,执行下列语句时,若a和b的值都是10,则应输入 ()D &b);
D、、 Ca=10 b=10 A、10 10 B、10, 10
)9. 下列程序的输出结果是 (Dc) int fun(int a, int b,
D 45. 有以下程序main()来自 ( B ) B) 19 C) 13 D) 20
2分,共30分)
表示“x≥y≥z”的C表达式是___ x>=y && y>=z ____。
下列程序段的输出是__1____。
double
则在调用之前应该对该函数进行说明,以下选项中错误的 ) A 说
(
A)double myadd(double a,b);