精选C语言试卷(带答案)

合集下载

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语言试卷及答案

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语言试卷及答案

(完整版)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语言程序设计考试试卷(附答案)第一部分:选择题(共40题,每题2分,总分80分)1. 下列哪个关键字用于定义常量?A. constB. intC. staticD. volatile2. 在C语言中,以下哪个运算符用于将一个整数转换为浮点数?A. *B. /C. %D. +3. 下列代码的输出结果是什么?```c#include <stdio.h>void main() {int x = 2, y = 3;printf("%d", x++ * ++y);}```A. 7B. 8C. 9D. 104. C语言中,以下哪个运算符用于从一个整数中提取指定位数的值?A. <<B. >>C. |D. &5. 下列代码的输出结果是什么?```c#include <stdio.h>void main() {int arr[] = {1, 2, 3, 4, 5};int *ptr = arr + 2;printf("%d", *ptr);}```A. 1B. 2C. 3D. 4......40. 下列关于结构体的说法中,错误的是:A. 结构体可以包含不同类型的成员变量B. 结构体可以作为函数参数和返回值C. 结构体可以使用“->”来访问成员变量D. 结构体可以使用“sizeof()”函数获取其大小第二部分:填空题(共10题,每题4分,总分40分)1. 以下是有效的C语言标识符:___hello___2. 下列代码的运行结果是:___88___```c#include <stdio.h>void main() {int x = 8;printf("%d", x++);}```3. 在C语言中,以下是有效的声明:___int i, *p;___4. 下列代码的输出结果是:___10___```c#include <stdio.h>void main() {int arr[5] = {1, 2, 3, 4, 5};int *ptr = arr + 2;printf("%d", *(ptr + 2));}```5. 在C语言中,以下是合法的函数声明:___void fun(int x, float y);___......第三部分:编程题(共3题,每题20分,总分60分)1. 编写一个函数,接受一个整型数组和数组的长度作为参数,返回数组中的最大值。

c语言试卷集(10套)-试题及答案

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语言试卷(含答案)

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.运行B.编辑C.编译D.链接2、三种基本结构的特点之一是:每种基本结构(D)A.有多个入口和出口B.有一个入口、多个出口C.各有两个入口和出口D.只有一个入口和出口3、在C语言中,不正确的int类型的常量是(B)A.-128B.039C.0D.OxAF4、设n=10,i=4,则赋值运算n%=i+1执行后,n的值是(A)A.0B.3C.2D.15、C语言提供的合法关键字是(A)A.defaultB.cherC.CaseD.swith6、语句:printf(“%d\n”,(a=2)&&(b=-2));的输出结果是(D)A.无输出B.结果不确定C.-1D.17、在嵌套使用语句时,C语言规定else总是(C)A.和前面的与其具有相同缩进位置的if配对B.和前面的与其最近的if配对C.和前面的与其最近的且尚未匹配的if配对D.和前面的第一个if配对8、若i已定义为int类型,则以下程序段中循环体的执行次数是(C)for(i=0;j<4;i++)printf(“%d\n”,i);A.2B.3C.4D.59、以下对字符数组的初始化,错误的是(D)A.char word[]={‘C’,‘h’,‘i’,‘n’,‘a’,‘\0’};B.char word[]={"China");C.char word[]="China";D.char word[]='China';10、C语言程序由函数组成,以下说明正确的是(B)A.主函数必须在其它函数之前定义,函数内可以嵌套定义函数B.主函数可以在其它函数之前或之后定义,函数内不可以嵌套定义函数C.主函数可以在其它函数之前或之后定义,函数内可以嵌套定义函数D.主函数必须在其它函数之前定义,函数内不可以嵌套定义函数11、一个C语言程序中主函数的个数是(A)A.1个B.2个C.3个D.任意多个12、对于某一个问题,它的算法(D)A.只有1种B.有2种C.有3种D.不唯一13、字符型常量在内存中存放的是(B)A.BCD码B.ASCⅡ码C.原码D.补码14、设intn=3;,则执行表达式++n后,n的结果是(C)A.2B.3C.4D.515、以下选项中,不合法的用户标识符是(D)A.PRINTB.priceC.MainD.abc.c16、当c的值为0时,在下列选项中能正确将c的值赋给变量a、b的是(B)A.c=b=a;B.(a=c)|(b=c);C.(a=c)&&(b=c);D.a=c17、C语言的迁语句中,用作判断的表达式可以为(A)A.任意表达式B.逻辑表达式C.关系表达式D.算术表达式18、对于以下程序段,while循环执行的次数是(A)int k=0;while(k=1)k++;A.无限次B.有语法错误,不能执行C.一次也不执行D.执行一次19、以下对二维数组的定义,正确的是(C)A.int a[3][];B.float b(3,4);C.int a[2][3];D.float a[3,4];20、下列说法正确的是(C)A.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须在main()函数中进行定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分。

15真题与答案 202409青少年软件编程(C语言)等级考试试卷(一级)

15真题与答案  202409青少年软件编程(C语言)等级考试试卷(一级)

202409青少年软件编程(C语言)等级考试试卷(一级)分数:100 题数:51. 嫑废话上代码Linux 之父 Linus Torvalds 的名言是:“Talk is cheap. Show me the code.”(嫑废话,上代码)。

本题就请你直接在屏幕上输出这句话。

时间限制:1000内存限制:65536输入本题没有输入。

输出在一行中输出 `Talk is cheap. Show me the code.`。

样例输入样例输出参考答案:#include<bits/stdc++.h>using namespace std;int main(){cout<<"Talk is cheap. Show me the code.";}2.太神奇了“告诉大家一个神奇的消息,太神奇了:明年全世界所有的人都同岁,全部都等于2022。

明年的日子很特别,大概每1000年才会有一次。

明年你的周岁年龄+你的出生年,每个人都是2022年。

例如:你明年57加上1965年生的,加起来就是2022年。

特别奇怪,连中外专家都无法解释!你计算一下,看看是不是2022。

真是千年等一回呀!真准!转朋友圈,让大伙都算一下吧!”据说这个“电子包浆”贴每年都会出现。

本题就请你根据发贴人提到的周岁年龄和出生年,判断其发贴的时候是哪一年。

时间限制:1000内存限制:65536输入输入在第一行中给出两个正整数,即周岁年龄和出生年,其中年龄在 (0, 200) 区间内,出生年在 (1900, 2022) 区间内。

输出在一行中输出发贴年份。

样例输入样例输出提示样例说明因为贴子里说“明年全世界所有的人都同岁”,所以发贴是在今年,即 2021 年。

参考答案:#include<bits/stdc++.h>using namespace std;int main(){int a,b;cin>>a>>b;cout<<a+b-1;}3. 最佳情侣身高差专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)× 1.09 =(男方的身高)。

c语言试卷及答案

c语言试卷及答案

C语言程序设计一、单项选择题1.以下叙述不正确的是______。

A)一个C源程序可由一个或多个函数组成B)一个C源程序一行内可以写多条语句C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面2.以下正确的C语言标识符是 __ ____。

A)%x B)a+b C)a123; D)test!3.以下对’\t’描述正确的是______。

A) ’\t’是两个字符B) ’\t’是一个字符C) ’\t’是一个字符串D)以上都不是4.C语言中的简单数据类型有______。

A)整型、实型、逻辑型B) 整型、字符实型、逻辑型C)整型、实型、字符型D) 整型、实型、字符型、逻辑型5.在C语言中,数字029是一个______。

A)八进制数B)十六进制数C)十进制数D)以上都不是6.以下选项中,当为x大于的奇数时,值为0的表达式是______。

A)x%2==0 B) x%2==1 C)x/2 D) x%2!=0 7.已知char c=’d’;,则printf(“%c”,’A’+(‘e’-c));的输出结果是______。

A)a B)e C)B D)D8.已知int a=1,b=3,t; ,若要将a和b变量中的数据进行交换,则下面正确的是______。

A)a=b; b=a; B)a=t; t=b; b=a;C)t=a; a=b; b=t; D)t=a; b=t; b=a;9.已知int a=2,b; ,则执行语句b=1.0/a;后,b的值是__ ____。

A)0.5 B)0 C)1 D)210.已知int i=1,j;,则执行语句j=i++;后,j的值是______。

A)1 B)2 C)-2 D)-111.已知int x=2,y=1,z;,则执行语句z=!x && --y;后,y的值是______。

A)0 B)1 C)2 D)-112.执行以下程序段后,输出结果是______。

int x=10;x+=(x=8);printf(“%d\n”,x);A)10 B)8 C)18 D)1613.已知int b; char s[8];,则正确的输入语句是______。

c语言期末考试题库及详解答案

c语言期末考试题库及详解答案

c语言期末考试题库及详解答案1. 以下哪个选项是C语言中正确的整型常量?A. 0x123B. 0123C. 0.123D. 123.0答案:A解析:在C语言中,整型常量可以是十进制、八进制或十六进制。

选项A表示十六进制数,选项B表示八进制数,选项C是浮点数,选项D 是浮点数。

2. C语言中,以下哪个关键字用于声明函数?A. intB. floatC. voidD. function答案:C解析:在C语言中,关键字void用于声明没有返回值的函数。

选项A 和B用于声明返回整型和浮点型值的函数,选项D不是C语言的关键字。

3. 以下哪个选项是C语言中正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello World'"D. 'Hello World'答案:A解析:在C语言中,字符串字面量是由双引号括起来的字符序列。

选项B和D使用了单引号,它们表示单个字符。

选项C的引号没有正确闭合。

4. 在C语言中,以下哪个运算符用于取模运算?A. %B. /C. *D. -答案:A解析:在C语言中,百分号(%)是取模运算符,用于计算两个整数相除的余数。

选项B是除法运算符,选项C是乘法运算符,选项D是减法运算符。

5. 以下哪个选项是C语言中正确的数组声明?A. int array[5] = {1, 2, 3, 4, 5};B. int [5] array = {1, 2, 3, 4, 5};C. int array[] = {1, 2, 3, 4, 5};D. int array[5] = {1, 2, 3};答案:C解析:在C语言中,数组的声明可以省略数组的大小,编译器会根据初始化列表的长度自动计算数组的大小。

选项A和B的声明方式不正确,选项D没有为数组的所有元素提供初始化值。

6. C语言中,以下哪个函数用于计算两个数的和?A. max(a, b)B. min(a, b)C. sum(a, b)D. pow(a, b)答案:C解析:在C语言的标准库中,没有内置的sum函数。

C语言考试试题及答案

C语言考试试题及答案

C语言考试试题及答案一、选择题(每题2分,共20分)1. C语言的标识符可以由哪些字符组成?A. 数字、字母和下划线B. 数字和字母C. 数字、字母和特殊字符D. 字母和下划线2. 在C语言中,哪个关键字用于声明整型变量?A. floatB. intC. doubleD. char3. 下面哪个选项是C语言的逻辑运算符?A. &&B. ||C. >>D. ++4. 在C语言中,哪个函数用于输出字符串?A. printfB. scanfC. putcharD. puts5. 以下哪个选项是C语言的循环控制语句?A. ifB. switchC. whileD. break二、填空题(每题2分,共20分)6. 在C语言中,声明一个整型变量的关键字是______。

7. 以下程序段的输出结果是______。

```cint a = 5;printf("%d\n", a++ + ++a);```8. 在C语言中,用于定义数组的标识符是______。

9. 下面程序的输出结果是______。

```cint a = 3, b = 4;printf("%d\n", a > b ? a : b);```10. 在C语言中,用于表示整型常量的关键字是______。

三、判断题(每题2分,共20分)11. C语言中的变量在使用前必须先声明。

()12. 在C语言中,数组的下标从0开始。

()13. C语言的switch语句中,case后面必须跟一个break语句。

()14. 在C语言中,逗号运算符的优先级最高。

()15. C语言的函数可以没有返回值。

()四、编程题(每题20分,共40分)16. 编写一个C程序,实现以下功能:输入10个整数,计算并输出它们的平均值。

17. 编写一个C程序,实现以下功能:输入一个字符串,将其中的小写字母转换为大写字母,大写字母转换为小写字母,并输出结果。

C语言期末考试试卷附参考答案

C语言期末考试试卷附参考答案

一、单项选择题(请将答案填在下面表格中20×1)1.以下叙述中正确的是()。

A.C语言比其他语言高级B.C语言可以不用编译就能被计算机识别执行C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D.C语言出现的最晚,具有其他语言的一切优点2.以下叙述中正确的是()。

A.构成C程序的基本单位是函数B.可在一个函数中定义另一个函数C.main函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义3.以下叙述中正确的是()。

A.C语言程序总是从第一个函数开始执行B.在C语言程序中,要调用函数必须在main()函数中定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分4.以下有关for循环的正确描述是()。

A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来5.对下面程序段的描述,正确的是()。

x=-1;do{x=x*x;}while(!x);A.是死循环B.循环执行一次C.循环执行两次D.有语法错误6.以下有关C语言数组说法正确的是()。

A.数组元素的数据类型可以不一致B.数组元素的个数可以不确定,允许随机变动C.可以使用动态内存分配技术,定义元素个数可变的数组D.定义一个数组后,就确定了它所容纳的具有相同数据类型元素的个数7.以下数组定义正确的是()。

A.inta(20);B.inta[]={1,2,5,7,0};C.inta[n];D.inta[2]={1,2,4,6};8.在定义intb[2][10];之后,对b数组元素引用正确的是()。

A.b[0][9]B.b[2,3]C.b(1)(5)D.b[10][0]9.如有定义语句intc[]={1,5,3,4,6,7,0};,则数组c有()个元素。

c语言试卷(含答案)

c语言试卷(含答案)

一、选择题(26分)1. 正确的C语言标识符是(A)。

A._buy_2 B.2_buy C.?_buy D.buy?2. 以下选项中,合法转义字符的选项是(A)。

A.’\\’ B.’\018’ C.’xcb’ D.’\ab3、下列语句中,错误的是(B )A、#define PI 3.14159B、#include <math.h>;C、if(2);D、for(;;) if(1) break;4、能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是()A、 a>=10 or a<=0B、 a>=0|a<=10C、 a>=10 &&a<=0D、 a>=10‖a<=05、以下对break语句使用的正确描述是()A、可以出现在程序中的任何位置B、只能出现在循环结构中或switch结构中C、只能出现在switch结构中D、只能出现在循环结构中6. C语言程序的基本单位是(C)。

A.程序行 B.语句 C.函数 D.字符7、已知各变量的类型说明如下:()int m=6,n, a, b;unsigned long w=8;double x=3.14, y=0.12;则以下符合C语言语法的表达式是(A)。

A.a+=a-=(b=2)*(a=8) B. n=n*3=18C.x%3 D.y=float (m)8、已有定义:char x[]=“ab”,y[ ]={‘a’,’b’ };,以下叙述中正确的是( C)A、数组x和y的长度相同B、x数组长度小于y数组长度C、x数组长度大于y数组长度D、上述说法都不对9、设有定义“int x=3,y,*p=&x”,则下列语句中使y不为3的语句是(D )A、y=*&xB、y=*pC、y=xD、y=&x10、设x、y、z均为int型变量,则执行语句:x=y=3;z=++x||++y;后,y的值为()A、不定值B、4C、3D、111.有如下程序段:int x1,x2;char y1,y2;scanf(”%d%c%d%c”,&x1,&y1,&x2,&y2);若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是(A)。

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语言考试题库及答案

(完整版)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语言期末考试试卷附参考答案

一、单项选择题(请将答案填在下面表格中20×1)1. 以下叙述中正确的是()。

A. C语言比其他语言高级B. C语言可以不用编译就能被计算机识别执行C. C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D. C语言出现的最晚,具有其他语言的一切优点2. 以下叙述中正确的是()。

A.构成C程序的基本单位是函数B.可在一个函数中定义另一个函数C. main函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义3. 以下叙述中正确的是()。

A. C语言程序总是从第一个函数开始执行B.在C语言程序中,要调用函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分4. 以下有关for循环的正确描述是()。

A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来5. 对下面程序段的描述,正确的是()。

x=-1;do{x=x*x;}while(!x);A.是死循环B. 循环执行一次C. 循环执行两次D. 有语法错误6. 以下有关C语言数组说法正确的是()。

A.数组元素的数据类型可以不一致B.数组元素的个数可以不确定,允许随机变动C.可以使用动态内存分配技术,定义元素个数可变的数组D.定义一个数组后,就确定了它所容纳的具有相同数据类型元素的个数7.以下数组定义正确的是()。

A. int a(20);B. int a[ ]={1,2,5,7,0};C. int a[n];D. int a[2]={1,2,4,6};8.在定义int b[2][10];之后,对b数组元素引用正确的是( )。

A. b[0][9]B. b[2,3]C. b(1)(5)D. b[10] [0]9. 如有定义语句int c[ ]={1,5,3,4,6,7,0};,则数组c有()个元素。

C语言程序设计考试试卷附答案

C语言程序设计考试试卷附答案

C语言程序设计考试试卷附答案一、选择题1. 下列哪个不是 C 语言的数据类型?A. intB. charC. stringD. float答案:C2. 以下哪个关键字用于定义常量?A. constantB. varC. constD. define答案:C3. 在 C 语言的数组中,下标是从几开始的?A. 0B. 1C. -1D. 从任意整数开始答案:A4. 下面哪个运算符用于获取变量的地址?A. &B. *C. %D. #答案:A5. 下面的代码中,输出的结果是什么?```int i = 0;for (i = 0; i < 5; i++) {if (i == 3) {break;}printf("%d ", i);}```A. 0 1 2C. 0 1 2 3 4D. 0 1 2 4答案:A二、填空题1. 填写下面代码的输出结果:```char str[20] = "Hello";printf("%s", ___________);```答案:Hello2. 填写下面代码的输出结果:```int a = 10;int b = 20;int c = ___________;printf("%d", c);```三、编程题1. 编写一个程序,在屏幕上输出从 1 到 10 的所有数字。

答案:```c#include <stdio.h>int main() {int i;for (i = 1; i <= 10; i++) {printf("%d ", i);}return 0;}```2. 编写一个程序,计算从 1 到 100 所有偶数的和。

答案:```c#include <stdio.h>int main() {int sum = 0;int i;for (i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("1 到 100 所有偶数的和为:%d", sum);return 0;}```3. 编写一个程序,实现冒泡排序算法对数组进行升序排序。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

浙江科技学院2006-2007学年第二学期考试试卷A 卷考试科目 C 语言程序设计 考试方式 闭卷 完成时限 2小时 拟题人 审核人 批准人 2007年 7 月 5 日 机械、电气、信息、生化、轻工、经管、理学院 2006年级 各理工科专业说明:1. 应将全部答案写在答卷纸对应的题号处;否则作无效处理;2. 编程题应写明题号,若答卷纸不够,请写在背面,不要另添卷纸;3. 考试完成后,必须将试卷与答卷同时交回。

一、判断题(10小题,每题1分,共10分;用√表示正确,用×表示错误)1.在循环体内使用break 语句和continue 语句的作用相同。

2.函数返回值的类型最终取决于函数定义时形参的类型。

3.else 语句一定要与if 语句配对使用,程序中else 语句的个数一定小于或者等于if 语句的个数。

4.从狭义角度讲,算法是解决一个问题采取的方法和步骤的描述。

5.1/2的结果是0,所以1.0/2的结果也是0。

6.a=b=c=5可以理解为a=(b=(c=5))。

7.假设有语句int a[10]={1,2,3},*p;p=a;则p++完全等价于a++。

8.for(;;)等价于while(1)语句。

9.假定int 类型变量占用两个字节,若有定义:int x[10]={0,2,4};,则数组x 在内存中所占字节数是6。

10.char *sp ={"welcome"};可以写成char *sp="welcome"; 。

二、单选题(16小题,每题1分,共16分)1.以下数组定义中错误的是:专业班 学 姓 ……………………………………………………………………装订线……………………………………………………………………………………(A) int x[][3] ={0};(B) int x[2][3]={{1,2},{3,4},{5,6}};(C) int x[][3]={{1,2,3},{4,5,6}};(D) int x[2][3]={1,2,3,4,5,6};2.设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为:(A)EOF (B)NULL (C) 0 (D)非0值3.有以下程序:main(){int y=10;while(y--) ;printf(“y=%d\n”,y);}程序执行后的输出结果是:(A) y=0; (B)y=-1;(C) y=1 (D)while构成无限循环4. 若有以下宏定义:#define N 2#define Y(n) (N+1)*n则执行语句int z; z=2*N+Y(5);后的值是(A) 50 (B)34 (C)19 (D)无定值5.以下叙述中错误的是:(A)c程序必须由一个或者一个以上的函数组成。

(B)函数调用可以作为一个独立的语句存在。

(C)若函数有返回值,必须通过return 语句返回。

(D)函数形参的值也可以传回给对应的实参。

6.设有如下定义的变量union data{ int i;char ch;float f;}b;则变量b占用内存的字节数是(假设int类型占2个字节,char类型占1个字节,float类型占4个字节):(A) 4 (B)5 (C) 6 (D)77.以下叙述中错误的是:(A)c程序中的#include 和#define 行均不是c语句(B)除逗号运算符外,赋值运算符的优先级最低(C)c程序中, “j++;”是赋值语句(D)c程序经过编译、连接步骤之后,才能形成一个真正可执行的二进制机器指令文件。

8. 能正确表示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>09.对于一个正常运行的c程序,以下叙述中正确的是:(A)程序的执行总是从main函数开始,在main函数结束。

(B)程序的执行总是从程序的第一个函数开始,在main函数结束。

(C)程序的执行总是从main函数开始,在程序的最后一个函数中结束。

(D)程序的执行总是从程序中的第一个函数开始,在程序的最后一个函数中结束。

10.设变量x和y均已经正确定义并赋值。

以下if语句中,在编译时将产生错误信息的是:(A)if(x++); (B)if(x>y &&y!=0)(C) if(x>0) x-- (D)if(y<0){;}else y++; else x++;11.设已有定义:float x; 则以下对指针变量p进行定义且赋初值的语句中正确的是:(A)float *p=1024; (B)int *p=(float)x;(C)float p=&x; (D)float *p=&x;12.有以下程序:main(){ int i,j;for(i=1;i<4;i++){ for(j=i;j<4;j++) printf(" %d*%d=%d ",i,j,i*j);printf("\n");}}程序运行后的输出结果是:(A)1*1=1 1*2=2 1*3=3 (B)1*1=1 1*2=2 1*3=3 2*1=2 2*2=4 2*2=4 2*3=63*1=3 3*3=9(C)1*1=1 (D)1*1=11*2=2 2*2=4 2*1=2 2*2=41*3=3 2*3=6 3*3=9 3*1=3 3*2=6 3*3=913.按照c语言规定的用户标识符命名规则,不能出现在标识符中的是:(A)大写字母(B)连接符(C)数字字符(D)下划线14.设有定义:int k=0;以下选项的四个表达式中与其他三个表达式的值不相同的是:(A)k++ (B)k+=1 (C)++k (D)k+115.有以下程序main(){ char ch[]="uvwxyz",*pc;pc=ch;printf(" %c\n",*(pc+5));}程序运行后的输出结果是:(A)z (B)0(C)元素ch[5]的地址(D)字符y的地址16.有以下函数:int fun(char *s){ char * t=s;while(*t++);return (t-s);}该函数的功能是:(A)比较两个字符串的大小(B)计算s所指向字符串占用内存字节的个数(C)计算s所指字符串的长度(D)将s所指字符串复制倒字符串t中16.有以下函数:int fun(char *s){ char * t=s;while(*t++);return (t-s);}该函数的功能是:(A)比较两个字符串的大小(B)计算s所指向字符串占用内存字节的个数(C)计算s所指字符串的长度(D)将s所指字符串复制倒字符串t中三、基础填空题(14空,每空1分,共14分)1.以下程序的输出结果是。

#include <string.h>main(){ printf(“%d\n”,strlen("IBM\n012\n"));}2.执行以下程序后的输出结果是main(){ int a=10;a=(3*5,a+4);printf("a=%d\n",a);}3.排序是数据处理中最常见的问题,它是将一组数据按递增或者递减的次序排列。

排列的算法很多。

常用的算法有法和选择法。

4.设有定义“char web[20];”,要将字符串“”赋值给字符数组web的语句是。

5.一个函数用于接收一个字符和一个整数,并返回一个字符,函数名为love_c,则该函数的原型说明为。

6.c语言规定,简单变量作函数参数时,他和对应的形参之间的数据传递方式是。

7.判断字符变量x是小写英文字母字符的C语言表达式是。

8.程序中调用了库函数strcmp,必须包含头文件。

9.若x=13,y=25,z=-17,则表达式((p=(x<y)?x:y)<z?p:z)的值为。

10.下列程序段的的输出结果是。

char a=010,b=10;printf(" %d\n",a&b<<2);11.表达式中的类型转换分为两种:一种是隐式数据类型转换;另一种是数据类型转换。

12.数组是顺序存储结构,它的存储分配方式是“静态”的。

是一种动态的数据结构,它由若干个结点链接而成,与数组最大的不同是结点在内存中并不占据连续的存储空间。

13.有定义: int a[][3]={1,2,3,4,5,6,8,9,10};则printf("%d",*(*(a+1)+2));语句的输出结果为。

14.以下程序的输出结果是。

main(){ int a,b,c=240;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}四、程序填空题(10空,每空2分,共20分)1.下面程序运行后输入以-1结束的一批整数,输出其中的最大值。

例如:输入-3 -8 -10 -1后,输出:-3#include<stdio.h>void main(){ int max,x;scanf("%d",&x);if(x!=-1){___ (1) ___;while(__ (2) ____){if(max<x) max =x;___ (3) ____;}printf(" max=%d\n",max);}}(1)(A)x=max (B)max =x(C) x++ (D)max=0(2)(A)x!=-1 (B)max>=0(C)x==-1 (D)max!=-1(3)(A)max=max+1 (B) x=x+1(C)scanf(“%d”,&x); (D) else max =-12.下面程序通过字符指针实现,将s1指向的字符串“I have a dream!”反向拷贝到s2中。

#include<stdio.h>#include <stdlib.h>void main(){char *s1="I have a dream! ",*s2,*t;int len;len= ___ (4) ____;s2=(char *)calloc(len+1,sizeof(char));t=s2;while(*s1!=‟\0‟)s1++;do{s1--;len--;__ (5) ____;s2++;}while(len>0);*s2=‟\0‟;s2=t;puts(s2);}(4)(A) strcpy(s1) (B)st(C) *s1 (D) strlen(s1) (5)(A)*s1=*s2 (B)*s2=*s1 (C)&s2=&s1 (D)&s1=&s23.建立一个链表,每个结点包括:学号、姓名、性别、年龄。

相关文档
最新文档