C语言试卷(F卷) 答案

合集下载

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语言程序设计》(卷)考核班级学生数印数考核方式闭卷考核时间120 分钟(本试卷包括第一卷和第二卷,答卷时间总共120分钟)第一卷第一部分:基础知识(20项,共40分)1.一个C语言程序是由()组成的。

A.主程序B.子程序C.函数D.过程2.转换说明符%x的输出形式是()。

A.十进制B.八进制C.十六进制D.二进制3.若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a!=b;++a,++b) printf ( “------------“) ;的正确说法是()。

A.循环体只执行一次B.死循环C.循环体一次也不执行D.输出-----------4.若x、y、z均为int 型变量,则执行下列语句后的z值为()。

x=1; y=2; z=3; z=(x>y)?z :y ; z = (z<y)?z:x;A.1 B.4 C.2 D.35.下面标识符中,合法的用户标识符为()。

A.P#Ad B.12a C.char D._int6.‘A’+ 3 的结果是()。

A.’A’B.’D’的ASCⅡ码C.65 D.37.语句char str[20];说明str是一个字符串,最多能表示()。

A.20个字符B.19个字符C.18个字符D.21个字符8.将int 型变量n转换成float型变量的方法是()。

A.float n B.(float)n C.float(n) D.21个字符9.以下不正确的描述是()。

A.使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成B.while循环是先判断表达式后执行循环体语句C.do-while和for循环均是先执行循环体语句,后判断表达式D.for、while、do-while循环中的循环体均可以由空语句构成10.在循环中使用break 语句的功能是()。

A.使程序的执行跳出break所在的那一重循环B.使程序执行结束C.跳出包含此break语句的所有循环D.终止本次循环,继续下次循环11.下面是一个初始化指针的语句:int *px = &a;其中指针变量的名字应该是()。

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语言程序设计试题试题及答案

C 语言程序设计试卷 ,C++语言程序设计试题及答案一、单项选择题(每题1分,共20分)1. C语言规定:在一个源程序中,main函数的位置( C )。

A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后2. 下面四个选项中,均是合法浮点数的选项是( B )。

A. +1e+1 5e-9.4 03e2B. -.60 12e-4 -8e5C. 123e 1.2e-.4 +2e-1D. -e3 .8e-4 5.e-03. 若a=-14,b=3,则条件表达式 a<b? a:b+1的值为(A )。

A. -14B. -13C. 3D. 44. 已知:int n,i=1,j=2;执行语句n=i<j?i++:j++;则i和j的值是( c ).A. 1,2B. 1,3C. 2,2D. 2,35. 为了判断两个字符串s1和s2是否相等,应当使用( D )A. if (s1==s2)B. if(s1=s2)C. if (strcmp(s1,s2))D. if (strcmp(s1,s2)==0)6. 以下正确的描述是( B )。

A. 函数的定义可以嵌套,但函数的调用不可以嵌套。

B. 函数的定义不可以嵌套,但函数的调用可以嵌套。

C. 函数的定义和函数的调用均不可以嵌套。

D. 函数的定义和函数的调用均可以嵌套。

7. 在C语言中,下面对函数不正确的描述是( D)。

A. 当用数组名作形参时,形参数组值的改变可以使实参数组之值相应改变。

B. 允许函数递归调用。

C. 函数形参的作用范围只是局限于所定义的函数内。

D. 子函数必须位于主函数之前。

8. 如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是( A)。

A. 该变量只在该复合语句中有效B. 该变量在该函数中有效C. 该变量在本程序范围内均有效D. 该变量为非法变量9. 以下正确的函数形式是( D )。

A. double fun(int x,int y) { z=x+y;return z;}B. fun(int x,y) { int z; return z;}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; }10. 以下程序的输出结果是( B )。

c语言试卷和答案1

c语言试卷和答案1

s=s+f;
printf(“%.0f #”, s);
}
}
程序2
#include <stdio.h>
void main()
{ long fun (long number);
printf(“%ld\n”, fun(-974));
}
long fun(long number)
(5) 运算符 “+”不能作为单目运算符。
(6) 如果运算符 “*”和 “/”都是右结合的,这表达式10*6/5的值是10。
(7) s(s-a)(s-b)(s-c)是合法的C语言表达式。
(8) 表达式!!6的值是6。
(9) 表达式~(~2<<1)的值是5。
(28)str[k]=str[k]-‘A’+ ‘a’
4.(29)ss=s
(30)s-ss
四、程序阅读题
程序1 1 # 3 # 21 #
程序2 4 # 47 # 479 # -479
程序3 IF YOU FAIL TOP
五、程序设计题(略)
}while(month>=1 || month<=12);
B)do{ scanf(“%d”, &month);
}while(month>=1 && month<=12);
C)do{ scanf(“%d”, &month);
}while(month<1 || month>12);
else
b=3;
printf(“%d”, b);
A)3 B)2 C)1 D)0
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1
A)有语法错不能通过编译 C)输出*** 8.下面程序段的运行结果是 x=y=0; while(x<15) {y++;x+=++y;} printf("%d,%d",x,y); A)20,7 B)6,12 C
B)可以通过编译但不能通过连接 D)输出$$$ 。
C)20,8
D)8,20 D 。
9.若有说明:int a[3]={0};则下面正确的叙述是 A) 只有元素 a[0]可得到初值 0 B) 此说明语句不正确
else if(c>=’a’&&c<=’z’) c=c-32; str[i]=c; puts( } str return 0;
五、编写程序(每小题 10 分,共计 20 分) (注意:可做在试卷反面)
1.输出 100 到 300 之间能被 5 整除却不能被 3 整除的所有数之和。 #include <stdio.h> int main() { int n,sum=0; for(n=100; n<=300; n++) if(n%5==0 && n%3!=0) sum += n; printf(“%d\n”, sum); return 0; } 2.编写 main 函数及一个求 x 阶乘(x!)的用户自定义函数 fun( ),并在主函数中调用该函数求组合
四、程序填空(每空 1.5 分,共计 15 分)
1.下面程序的功能是:将字符数组 s2 中的全部字符拷贝到字符数组 s1 中,不用 strcpy 函数。 #include <stdio.h> main() { char s1[80], s2[80]; int i; printf("input s2:"); gets(s2); for(i=0;s2[i]!=’\0’; s1[i]=s2[i] s1[i]=’\0’; printf("s1: %s \n",s1); return 0; } 2.输入 20 个整数,找出其中的最大数及最小数,并求其和值。 #include <stdio.h> int main() { int a[20],i,max,min,sum; printf("input a[0]-a[19]:"); for(i=0;i<20;i++) scanf(“%d”, max=a[0]; for(i=1; { i<20 &a[i] sum= ;i++) min=a[i] ;
7
中南大学考试试卷(F 卷)
——标
计算机程序设计 课程 56 学时



3.5 学分 考试形式: 闭 卷
一、选择题(15 小题,每小题 2 分,共计 30 分)
1.下面不正确的字符串常量是 A)'abc' B)"12'12" D 2.以下正确的叙述是 A 。 C)"0" D)" "
A)在 C 程序中,每行中只能写一条语句 B)若 a 是实型变量,C 程序中允许赋值 a=10,因此实型变量中允许存放整型数 C)在 C 程序中,无论是整数还是实数,都能被准确无误(精确)地表示 D)在 C 程序中,%是只能用于整数运算的运算符 3.已知字母 A 的 ASCII 码为十进制数 65,且 c2 为字符型,则执行语句 c2='A'十'6'一'3';后,c2 中的 值为 A A)D B)68 B C)不确定的值 : B)一个整型表达式 D)一个不合法的表达式 D : D)C
5ห้องสมุดไป่ตู้
i++
)
;
); a[0] ;
min=a[0];
if(a[i]>max) max=a[i]; if(a[i]<min)
sum+=a[i]; } printf(%d,%d,%d\n",max,min,sum); return 0; } 3.输入一行字符到字符数组中,将其中的小写字母转化成大写字母,大写字母转化成小写字母,然 后输出。 #include <stdio.h> #include <string.h> main() { char c,str[80]; int i; gets(str); for(i=0;(c=str[i])!= { if( ’\0’ ;i++) ) c=c+32; c>=’A’&&c<=’Z’ } );
15.在 C 语言中,5 种基本数据类型的存储空间长度排列顺序为
二、计算表达式(每小题 1.5 分,共计 15 分) :
设 int x=25,y=-20;float a=102.56,b=50.87;(注意:各式结果不影响后续的题目! ) 1.(++y)+(x--)
2
(
6
)
2.y*=y+=25 3.x+y>=0?(x-2*y):(x+2*y) 4.(x+y)/2+(int)(a-b)%(int)b 5.x/2+(a-b)/2 6.!(x=a)&&(y=b)&&1 7.!(a+b-1)||y+x/2 8.计算(y>=0)&&(++y)后 y 的值为: 9.printf(“%d”,’\102’);结果为
( ( ( ( ( ( ( (
25 65 3 37.845 0 1 -20 66 d
) ) ) ) ) ) ) ) )
10.已知’a’的 ASCII 码为 97,则:printf(“%c”,’\x64’);结果为(
三、写出下列程序的的执行结果(每小题 5 分,共计 20 分,注意输出格式)
1.#include<stdio.h> Int main() { int a=23389,b=45;float x=647.3586,y=13643.5538; char c1=’A’,c2[]="Hello"; printf("a=%4d,b=%4d\n",a,b); printf("%-9.2f,%9.2f\n",x,y); printf("%o,%x,%u\n",b,b,b); printf("%d,%c\n",c1,c1); printf("%s,%6.4s\n",c2,c2); return 0; }
n 数 c 的值 C m
m! 。 n! ( m n)!
#include <stdio.h> int main() { long int fun(long int x);
6
long res, res1, res2, res3,m, n; scanf(“%ld,%ld”,&m,&n); res1=fun(m); res2=fun(n); res3=fun(m-n); res=res1/(res2*res3); printf(“%ld\n”,res); return 0; } long int fun(long int x); { long int i, res=1; for(i=2; i<=x; i++) res *= i; return(res); }
3
return 0;}
1 1 2 5 1 3.#include<stdio.h> int main() { int i,j,k=0; for(i=1;i<31;i++) { for(j=2;j<=i-1;j++) if(i%j==0) break; if(j==i) { printf("%7d",i) ; k++; if(k%2==0) printf("\n"); } } Return 0; } 2 5 1 1 2 1 7 3 3 2
0 1 3 8 1
3 7 1 1 2 3 9 9
4.#include<stdio.h> int main() { int i=16,j,x=6,y,z;static char c[]=”I am a student”; j=i+++1; x*=i=j; printf(“%5d\n”,j); printf(“%5d\n”,x);
4.sizeof(float)是 C)一种函数调用 5.以下说法正确的是
A)一个双精度型表达式
A)输入项可以为一实型常量,如 scanf("%f",3.5); B)只有格式控制,没有输入项,也能进行正确输入,如 scanf("a=%d,b=%d"); C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如 scanf("%4.2f",&f); D)当输入数据时,必须指明变量的地址,如 scanf("%f",&f); 6.已有如下定义和输入语句,若要求 a1,a2,c1,c2 的值分别为 10,20,A,B,当从第一列开始输入数据 时,正确的数据输入方式是 int a1,a2; char c1,c2; scanf("%c%c",&c1,&c2); B)10 D)10 20<CR>AB<CR> 20AB<CR> scanf("%d%d",&a1,&a2); A) 1020AB<CR> C)10 20 void main() {int a=5,b=0,c=0; if(a=b+c) printf("***\n"); e1se printf("$$$\n"); 以上程序 D : AB<CR> 7.请阅读以下程序: D (注:<CR>表示回车) 。
相关文档
最新文档