(完整版)C语言试卷及答案

(完整版)C语言试卷及答案

一、选择题(每题2分,共40分)

1、C语言源程序的基本单位是( )

A.程序行

B.语句

C.函数

D.字符

2、C语言规定:在一个源程序中,main函数的位置()。

A.必须在最开始B.必须在系统调用的库函数的后面

C.可以任意D.必须在最后

3、在下列字符列中,合法的标识符是( )

A.p12&.a

B.stud_100

C. water$12

D.88sum

4、在C语言中,要求运算的数必须是整数的运算符是()

A./

B.!

C.%

D.= =

5、设有语句 int a =3;则执行了语句a + = a - = a*a;后,变量a 的值是()

A、3

B、0

C、9

D、-12

6、设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a > b)&&(n=c>d)后n的值为()

A、1

B、2

C、3

D、4

7、执行下列程序时输入:1234567,程序的运行结果是()

main()

{

int x,y;

scanf(“%2d%*2c%1d”,&x,&y);

printf(“%d\n”,x+y);

}

A.17

B.46

C.15

D.9

8、下述程序的输出结果是() #include

void main()

{int x=-1,y=4;

int k;

k=++x<=0&&!(y--<=0);

printf("%d,%d,%d",k,x,y);}

A.0,0,3

B.0,1,2,

C.1,0,3,

D.1,1,2

9、为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。

A.缩排位置相同的if

B.在其之前未配对的if

C.在其之前未配对的最近的if

D.同一行上的if

10、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()

main()

{int x;

scanf(“%d“,&x);

if(x++>5)printf(“%d”,x);

else printf(“%d\n”,x--);

}

A.7和5

B.6和3

C.7和4

D.6和4

11、若变量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的值是。if(x>y) z=x; x=y; y=z;

A.x=10, y=20, z=30

B.x=20, y=30, z=30

第 1 页共6 页

C.x=20, y=30, z=10

D.x=20, y=30, z=20

13、以下程序的输出结果为

main( )

{int i,f1,f2;

f1=f2=1;

for(i=0;i<4;i++)

{printf(“%d%d”,f1,f2);

f1+=f2;

f2+=f1; } }

A.1 2 3 4 5 6 7 8

B.1 1 2 3 5 8 13 21

C.1 1 3 5 7 9 11 13

D.1 3 5 7 9 11 13 15

14、以下程序段()。

x=-1;

do

{ x=x*x;}

while(! x);

A.是死循环

B.循环执行二次

C.循环执行一次

D.有语法错误

15、执行语句for (i=1;i++<4;) ; 后变量i 的值是()。A.3 B.4 C .5 D.不定

16、在定义int a[10];之后,对a的引用正确的是()。

A.a[10]

B.a[6.3]

C.a(6)

D.a[10-10]

17、在定义int a[5][6];后,第10个元素是()。

A.a[2][5]

B.A[2][4]

C.a[1][3]

D.a[1][5]

18、定义如下变量的数组:

int i;

int x[3][3]={1,2,3,4,5,6,7,8,9};

则下列语句的输出结果是()

for(i=0;i<3;i++)printf(“%d”,x[i][2-i]);

A.159

B.147

C.357

D.369

19、在C语言中,若对函数类型未另显示说明,则函数的隐含类型是()

类型。

A.void

B.double

C.int

D.char

20、设int * p,i;以下正确的语句是()。

A.* p=10;

B.i=p ;

C.i=* p;

D.p=2* p+1;

二、填空题(每空1分,共10分)

1、结构化设计中的三种基本结构是_________、__________、

__ __。

2、C语言源程序文件的后缀是___________,经过编译后生成文件的后

缀是___________,经过链接后生成文件的后缀是____________。

3、定义int x,y;执行y=(x=1,++x,x+2);语句后,y的值是___________。

4、若执行以下程序段:

int a=1,b=2,m=2,n=2;

(m=a>b)&&++n;则n的值是______________。

5、下述语句执行后,

int k=1; while (k++<10); 变量k 的值是____________。

6、定义如下变量的数组:

int i;

int x[3][3]={1,2,3,4,5,6,7,8,9};

for(i=0;i<3;i++)printf(“%d”,x[i][2-i]);

则上列语句的输出结果是____________。

三、补充完整程序(每题5分,共20分)

1、已知能被4整除而不能被100整除的或者能被400整除的年份是润年,

第 2 页共6 页

则判断某一年是否是润年的程序如下,请填空:

main()

{

int year,leap;

scanf(“%d”,&year);

if( ① ) leap=1;

else leap=0;

if( ②) printf(“是润年”);

else printf(“不是润年”);

}

2、用辗转相减法求两个正整数m和n的最大公约数。main()

{int m,n;

________①_______;

while(m-n!=0)

if(m>n)____②_____;

else _____③_____;

printf("gcd(m,n)=%d\n",m);}

3、计算1+1/2+1/4+…+1/50的值,并显示出来。

main()

{ int i=2;

float sum=1.0;

while(i<= ① )

{ sum+=1/ ② ;

i+=2;

}

printf(“sum=%f\n”,sum);

}

4、利用一维数组求显示fibonacci数列的前20项,每行显示5个数,每

个数宽度5位,即:0,1,1,2,3,5,8,13……。

main()

{int i;

int x[20]=________①__________;

for(i=2;i<20;i++)

______②_______ ;

for(i=0;i<20;i++)

{if(i%5==0)printf(“\n”);

_______③_________;

}

printf(“\n”);}

四、编程题(7+8+7+8,共30分)

1、有1、

2、

3、4个数字,新博彩通能组成多少个互不相同且无重复数

字的三位数?都是多少?

2、一个整数,它加上100后是一个完全平方数,再加上168又是一个完

全平方数,求1000以内满足条件的数。

第 3 页共6 页

3、输出打印九九乘法表。

4、一个5位数,判断它是不是回文数。即12321是回文数,个位与万位

相同,十位与千位相同。

第 4 页共6 页

一、选择题(每题2分,共40分)

1、C

2、C

3、B

4、C

5、D

6、B

7、A

8、C

9、C 10、A 11、D 12、B

13、B 14、C 15、C 16、D 17、C 18、C 19、C 20、B

二、填空题(每空1分,共10分)

1、顺序结构、选择结构、循环结构

2、.c,.obj,.exe

3、4

4、2

5、11

6、357

三、补充完整程序(每题5分,共20分)

1、①year%4==0&&year%100!=0||year%400==0 ②leap

2、①scanf(“%d%d”,&m,&n) ②m=m-n ③n=n-m

3、①50 ②i

4、①{0,1} ②x[i]=c[i-1]+x[i-2] ③printf(“%5d”,x[i])

四、编程题(7+8+7+8,共30分)

1、main()

{

int i,j,k;

printf("\n");

for(i=1;i<5;i++)/*以下为三重循环*/

for(j=1;j<5;j++)

for (k=1;k<5;k++)

{

if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/

printf("%d,%d,%d\n",i,j,k);

}

}

2、#include "math.h"

main()

{

long int i,x,y,z;

for (i=1;i<100000;i++)

{ x=sqrt(i+100); /*x为加上100后开方后的结果*/

y=sqrt(i+268); /*y为再加上168后开方后的结果*/

if(x*x==i+100&&y*y==i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/

printf("\n%ld\n",i);

}

}

3、#include "stdio.h"

main()

{

int i,j,result;

printf("\n");

for (i=1;i<10;i++)

{ for(j=1;j<10;j++)

{ result=i*j;

printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*/ }

printf("\n");/*每一行后换行*/

}

}

4、main( )

{

long ge,shi,qian,wan,x;

第 5 页共6 页

scanf("%ld",&x);

wan=x/10000;

qian=x%10000/1000;

shi=x%100/10;

ge=x%10;

if (ge==wan&&shi==qian)/*个位等于万位并且十位等于千位*/ printf("this number is a huiwen\n");

else

printf("this number is not a huiwen\n");

}

第 6 页共6 页

C语言试题和答案大全

模块1 C语言基础知识 1. 选择题 (1)C语言中运算对象必须是整型的运算符是(B )。 A. %= B. / C. = D. <= (2)以下所列的C语言常数中,错误的是(B )。 A. 0xFF B. 1.2E0.5 C. 2L D. -.67 (3)以下选项中能作为用户标识符的是( C )。 A. void B. 7_9 C. _3_ D. Dr.Tom (4)以下所列的C语言字符常量中,合法的是( B )。 A. ”B” B. ’\n’ C. ’中国’ D. d (5)以下选项中正确的定义语句是( D )。 A. int a:b; B. int ,a,b; C. int a+b=6; D. int a=6,b; (6)以下关于long、int、short型数据占用内存大小的叙述中正确的是( D )。 A. 均占4个字节 B. 根据数据的大小来决定所占内存的字节数 C. 由用户自己定义 D. 由C语言编译系统决定 (7)若有定义语句:int x=10;,则表达式x-=x+x的值为( B )。 A. -20 B. -10 C. 0 D. 10 (8)表达式((a=3*5,a+4),a+5)的值是( A )。 A. 20 B. 29 C. 60 D. 90 (9)若有定义语句:int a=3,b=4,c=5;,则以下表达式中值为0的是( D )。 A. a&&b B. a<=b C. a||b+c&&b-c D. !((a

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)D 8.已知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)2 10.已知int i=1,j;,则执行语句j=i++;后,j的值是______。 A)1 B)2 C)-2 D)-1 11.已知int x=2,y=1,z;,则执行语句z=!x && --y;后,y的值是______。 A)0 B)1 C)2 D)-1 12.执行以下程序段后,输出结果是______。 int x=10; x+=(x=8); printf(“%d\n”,x); A)10 B)8 C)18 D)16 13.已知int b; char s[8];,则正确的输入语句是______。 A)scanf(“%d%s”,&b,s[0]); B) scanf(“%d%s”,&b,s); C)scanf(“%d%s”,b,s); D) scanf(“%d%s”,b,&s); 14.对下面的程序,描述正确的是______。 #include “stdio.h” void main() { int x=3,y=5;

c语言试题及答案大全

c语言试题及答案大全 一、选择题 1. 下列关于C语言的说法中,正确的是: A. C语言是一种高级编程语言。 B. C语言可以被编译成机器语言执行。 C. C语言的语法和C++完全相同。 D. C语言不支持面向对象的编程。 答案:B. C语言可以被编译成机器语言执行。 2. C语言中,以下哪个是合法的标识符? A. 123abc B. abc_123 C. int D. function() 答案:B. abc_123 3. 在C语言中,以下哪种循环结构是先判断条件后执行循环体? A. for循环 B. while循环 C. do-while循环

D. switch语句 答案:C. do-while循环 二、编程题 1. 编写一个C程序,计算并输出1到n之间所有整数的和。其中,n由用户输入。 答案: #include int main() { int n; int sum = 0; printf("请输入一个整数n:"); scanf("%d", &n); for (int i = 1; i <= n; i++) { sum += i; } printf("1到%d之间所有整数的和为%d\n", n, sum); return 0; }

2. 编写一个C程序,判断一个整数是否为素数。素数是指除了1和自身外,无法被其他整数整除的整数。 答案: #include #include bool is_prime(int num) { if (num <= 1) { return false; } for (int i = 2; i * i <= num; i++) { if (num % i == 0) { return false; } } return true; } int main() { int num; printf("请输入一个整数:");

C语言计算机考试试题及答案

一、单项选择题(每小题2分,共40分) 二、填空题(每空2分,共20分) 三、程序填空题(每小题5分,共20分) 四、编程题(每小题10分,共20分) 1、C 语言源程序文件经过C 编译程序编译连接之后生成一个后缀为(C )的文 件。 A.”.c” B.“.obj” C.“.exe” D.“.bas” 2、以下叙述不正确的是( C )。 A. 一个C 源程序可由一个或多个函数组成 B. 一个C 源程序必须包含一个main 函数 C.在C 程序中,一行只能写一个语句 D.在C 程序中,注释说明对程序功能不产生影响 A.math B.stdio C.main D.abs 6、以下不正确的C 语言标识符是(A )。 A. void B. a3_b3 C. ablexe D. _x 7、以下选项中属于C 语言的数据类型是(C )。 A.复数型 B.逻辑型 C.双精度型 D.集合型 8、若有说明和语句:int a=5; a++; 则此处表达式a++的值是(C )。 A.7 B.6 C.5 D.4 9、在C 语言中,以下叙述不正确的是( A )。 A.在C 程序中,无论是整数还是实数,都能被准确无误的表示 B.在C 程序中,变量名代表存储器中的一个位置 C. C 语言中的变量名只能由字母,数字和下划线三种字符组成 D. C 语言中变量必须先定义后引用 10、设以下变量均为int 类型,则值不等于7的表达式是(C )。 A. (x=y=6,x+y,x+1) B. (x=y=6,x+y,y+1) C. (x=6,x+1,y=6,x+y ) D. (y=6,y+1,x=y,x+1) 3 xn 11、与数学式G 对应的C 语言表达式是(C )。 A. 3*x 八 n/(2*x-1) B. 3*x**n/(2*x-1) C. 3*pow(x,n)*(1/(2*x-1)) 3、一个C 语言程序是由(B )。 A.一个主程序和若干子程序组成 C.若干过程组成 4、用C 语言编写的代码程序(B A.可立即执行 C.经过编译即可执行 5、一个C 语言源程序只有一个函 B. 函数组成 D. 若干子程序组成 )。 B. 是一个源程序 D. 经过编译解释才能执行 那么这个函数的名称为( C )。 D. 3*pow(n,x)/(2*x-1)

C语言程序设计试卷含答案

C语言程序设计试卷含答案 一、选择题(共20题,每题2分,共40分。下面每题后面用小括号内标注了正确答案) 1. 下列关键字中,用于定义变量的是(A) A. int B. if C. while D. for 2. 变量的作用域是指变量的(C) A. 大小 B. 类型 C. 可访问范围 D. 值 3. 下列语句中,用于输出字符的是(B) A. scanf B. printf C. input D. output 4. 已知整型变量a和b,那么a += b; 等价于(D) A. a = a + b; B. a -= b; C. a = a - b; D. a = a + b; 5. 在C语言中,用于表示“不等于”的运算符是(C) A. = B. == C. != D. >= 6. 下面哪个for循环语句是正确的(A) A. for(int i=0; i<10; i++) B. for(int i<10; i++) C. for(int i=0; i<10) D. for(i=0; i<10; i++) 7. 下列选项中,表示“或”运算符的是(D) A. & B. && C. | D. ||

8. 在C语言中,用于声明宏定义的关键字是(B) A. define B. #define C. const D. int 9. 如果要判断一个整数是否为负数,正确的if条件语句是(C) A. if(n > 0) B. if(n => 0) C. if(n < 0) D. if(n <= 0) 10. 下列哪个不是C语言的基本数据类型(D) A. int B. float C. char D. string 11. 下列关键字中,用于定义函数的是(C) A. main B. include C. void D. for 12. 在C语言中,表示“或者”的条件语句是(B) A. if B. else if C. switch D. while 13. C语言中的“++”运算符表示(A) A. 自增 B. 自减 C. 相加 D. 相减 14. 下列哪个语句用于在C语言中声明字符类型的变量(C) A. String name; B. var name; C. char name; D. character name; 15. 下列哪个不是C语言的关键字(D) A. enum B. long C. double D. true 16. 在C语言中,用于跳出当前循环并继续执行下一次循环的关键字是(D)

c语言试题及答案大全

c语言试题及答案大全 C语言是一种通用的高级编程语言,被广泛应用于软件开发和系统编程。掌握C语言的知识对于计算机科学专业学生和程序员来说至关重要。本文将为您提供一份C语言试题及答案大全,帮助您巩固和扩展自己的C语言知识。 第一部分:基础概念和语法 1. 什么是C语言? 答案:C语言是一种高级编程语言,由贝尔实验室的Dennis Ritchie 在20世纪70年代开发。它是Unix操作系统及其应用程序的主要编程语言。 2. C语言的特点是什么? 答案:C语言具有简洁、高效、可移植性强的特点。它提供了丰富的控制结构和数据类型,并允许直接访问计算机内存。 3. C语言的基本数据类型有哪些? 答案:C语言的基本数据类型包括整型、浮点型、字符型和指针型等。其中整型可以分为短整型、整型、长整型和长长整型。 4. 请解释一下C语言中的变量作用域。 答案:C语言中的变量作用域指的是变量的可见性和生命周期。在C语言中,变量的作用域可以是全局的或局部的。全局变量定义在函

数之外,可以被程序的任何部分访问。局部变量定义在函数内部或代 码块内部,只能在其所在的作用域内访问。 5. C语言中有哪些控制语句? 答案:C语言中常用的控制语句有条件语句(if-else语句)、循环 语句(for循环、while循环和do-while循环)和跳转语句(break语句、continue语句和goto语句)等。 第二部分:程序设计题 1. 写一个程序,输入两个整数,并输出它们的和。 答案: ```c #include int main() { int a, b, sum; printf("请输入两个整数:"); scanf("%d %d", &a, &b); sum = a + b; printf("它们的和是:%d\n", sum); return 0; }

C语言试卷(含答案)

一、单项选择题(每小题2分,共40分) 1、sizeof(float)是() A. 一个双精度型表达式 B. 一个整型表达式 C. 一种函数调用 D. 一个不合法的表达式 2、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f); 为了把100和765.12分别赋给i和f,则正确的输入为()。 A. 100 765.12 B. i=100,f=765.12 C. 100<回车> 765.12 D. x=100 y=765.12 3、#include void main() { int a=3,b=2,c=1; int x=10,y=20; if(a void main() { int num=0; while(num<=2){ num++; printf("%d ",num); } } 输出结果是()。 A. 1 2 3 B. 0 1 2 C. 2 3 D. 1 2 8、下面的C语言代码段的输出结果是()。 int j; for(j=1; j<10; j+=2) printf("%d ",j); A. 1 2 3 4 5 6 7 8 9 B. 2 4 6 8 C. 1 3 5 7 9 D. 1 2 4 6 8 9、在C语言中,表达式:10!=9 的值是()。 A. true B. 非零值 C. 0 D. 1 10、分析下面的C代码段:

c语言期末测试题(附答案)

c语言期末测试题(附答案) A)自动存储类别B)静态存储类别C)寄存器存储类别D)外部存储类别 10、以下关于指针的描述中,错误的是【】。A)指针变量必须先定义再使用B)指针变量存放的是地址C)指针变量可以指向任何类型的变量D)指针变量的值可以直接进行运算 11、以下程序的输出结果是【】。void main() int i=3,j=4,k=5,m=5,n=6; if(i>XXX

12、以下关于结构体的描述中,错误的是【】。A)结构体是由不同类型的变量组成的B)结构体变量的大小等于其各成员变量大小之和C)结构体变量的地址等于其第一个成员变量的地址D)结构体变量的成员变量可以是结构体类型 13、以下函数的功能是【】。void swap(int*a,int*b) int temp; temp=*a; a=*b; b=temp; A)交换两个整型变量的值B)求两个整型变量的差C)比较两个整型变量的大小D)求两个整型变量的和 14、以下程序的输出结果是【】。void main() char a[10]=“hello”; char b[10]=“world”; strcat(a,b); printf(“%s”,a); A)helloworldB)hello worldC)worldhelloD)hello 15、以下程序的输出结果是【】。void main()

c试题及答案大全

c试题及答案大全 导语:为了方便广大考生备考,本文整理了C试题及答案大全,希望能为大家提供有价值的参考和帮助。 一、C语言基础试题 1. 下列关于C语言的说法中,错误的是: A. C语言是一种高级语言 B. C语言是一种编译型语言 C. C语言只能在Unix系统上运行 D. C语言是一种过程式语言 答案:C 2. 下列代码的输出结果是什么? ```c #include int main() { int a = 10; int b = 20; printf("%d\n", a+b); return 0;

} ``` A. 10 B. 20 C. 30 D. 0 答案:C 3. 下列代码的输出结果是什么?```c #include int main() { int i; for (i = 0; i < 5; i++) { printf("%d ", i); } return 0; } ``` A. 0 1 2 3 4

B. 1 2 3 4 5 C. 0 1 2 3 D. 1 2 3 4 答案:A 二、C++语言试题 1. 下列关于C++的说法中,正确的是: A. C++是一种面向对象的语言 B. C++是C语言的超集 C. C++支持类和对象的封装 D. C++在功能上完全兼容C语言 答案:A、B、C、D 2. 下列代码的输出结果是什么? ```cpp #include using namespace std; int main() { int a = 10; int b = 20;

cout << a + b << endl; return 0; } ``` A. 10 B. 20 C. 30 D. 0 答案:C 3. 下列代码的输出结果是什么?```cpp #include using namespace std; int main() { int i; for (i = 0; i < 5; i++) { cout << i << " "; } return 0;

c语言考试试题及答案

c语言考试试题及答案 一、选择题 1. 在C语言中,下列哪个关键字用于声明一个变量的名称? A. define B. int C. printf D. scanf 答案:B 2. 函数的返回类型可以是下列哪种类型? A. int B. float C. char D. all of the above 答案:D 3. 下列哪个运算符用于访问结构体变量的成员? A. . B. -> C. :

D. , 答案:A 4. 文件指针是下列哪种类型? A. FILE B. pointer C. file* D. fp 答案:A 5. 下面哪个循环结构在执行前先判断条件,再决定是否执行循环体? A. for B. while C. do-while D. switch 答案:B 二、填空题 1. C语言中,用于定义常量的关键字是____。 答案:const 2. 在C语言中,用于输出结果到控制台的函数是____。

答案:printf 3. C语言中,用于读取用户输入的函数是____。 答案:scanf 4. 下面是一个二维数组的声明方式:int arr[3][4];那么该数组的元 素个数是____。 答案:12 5. C语言中,用于在循环执行过程中跳过当前迭代的关键字是____。 答案:continue 三、编程题 请编写一个程序,实现从键盘输入两个整数,然后输出它们的和。 ```c #include int main() { int num1, num2, sum; printf("请输入第一个整数:"); scanf("%d", &num1); printf("请输入第二个整数:");

C语言程序设计基础试题及答案

第一部分C语言基础 一、选择题 1.以下正确的C语言表记符是() A.%X B.a+b C.a123D.test! 2.已定义inta,b;则以下不正确的C语句是() A.a*=5;B.b/=2;C.a+=;D.b&&=a; 3.若x、i、j和k都是整型变量,则履行下边表达式后x的值为()x=(i=4,j=16,k=32) A.4B.16C.32D.52 语言中的表记符只好由字母、数字和下划线三种字符构成,且第一个字符()A.必然是字母B.必然为下划线 C.必然为字母或下划线D.能够是字母、数字、下划线中的任一字符 5.下边正确的字符常量是() A.“c”B.’”C.‘w’D.” 6.设inta=2,b=0,c;则履行语句c+=b&&a--后,c的结果为()。A.0,1B.1,0C.2,0D.不确立 7.以下不正确的C语言表记符是( )A)int B)a_1_2 C)ab1exe D)_x 8.以下是正确的C语言表记符是( )。 A)#define B)_123 C)%d D)\n

A)print B)i\am C)Pxq D)str_l _3d one_half My->book Cpp oodbs tart$it line#pow 10.下边各选项组中,均是C语言重点字的组是( )。 A)auto,enum,include B)switch,typedef,continue C)signed,union,scanf D)if,struct,type 11.以下不属于C语言重点字的是( )。 A)default B)register C)enum D)external 语言程序从main( )函数开始履行,因此这个函数要写在( )。 A)程序言件的开始 B)程序言件的最后 C)它所调用的函数的前面 D)程序言件的任何地点 13.以下对于C语言的表达错误的选项是( ) A)大写字母和小写字母的意义同样 B)不同样种类的变量能够在一个表达式中 C)在赋值表达式中等号(=)左侧的变量和右侧的值能够是不同样种类 D)同一个运算符号在不同样的场合能够有不同样的含义 14.在C语言中,错误的int种类的常数是( )。 A)32768 B)0 C)037 D)0xAF 15.将字符g赋给字符变量c,正确的表达式是( )。

c语言试题及答案详解

c语言试题及答案详解 C语言是一种通用的编程语言,广泛应用于系统软件、嵌入式系统和应用程序开发。对于学习和掌握C语言的人来说,练习试题并解答是非常重要的。本文将提供一些常见的C语言试题,并对每个试题给出详细解答,帮助读者更好地理解和掌握C语言的知识。 试题一:请写出一个简单的C语言程序,显示“Hello World!”。 解答一: ```c #include int main() { printf("Hello World!\n"); return 0; } ``` 解析:上述代码中,使用了C语言的标准库函数`printf`来输出字符串"Hello World!",`\n`表示换行。`main`函数是C程序的入口,程序从`main`函数开始执行。`return 0`表示程序正常结束。 试题二:请写出一个C语言函数,接收两个整数参数并返回它们的和。

```c #include int add(int a, int b) { return a + b; } int main() { int num1 = 5; int num2 = 3; int sum = add(num1, num2); printf("The sum is %d\n", sum); return 0; } ``` 解析:上述代码中,定义了一个名为`add`的函数,接收两个整数参数`a`和`b`,返回它们的和。在`main`函数中,声明并初始化了两个整数变量`num1`和`num2`,然后调用`add`函数将它们的和赋值给变量 `sum`,最后使用`printf`输出结果。 试题三:请写出一个C语言循环,计算1到10的平方和。

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

c语言期末试题及答案及详解 本文将提供C语言的期末试题及答案,并对每个问题进行详细解析,旨在帮助读者更好地理解和掌握C语言知识。每个问题都将以清晰的 排版和通顺的语句进行阐述,以确保文章的可读性和表达流畅。 试题一: 1. 以下代码段输出的结果是什么? ```c #include int main() { int x = 6 / 2 * (1 + 2); printf("%d", x); return 0; } ``` 答案及详解: 输出的结果是9。 这个问题考察了C语言中的运算符优先级。根据优先级规则,先计 算括号内的表达式1 + 2,结果为3。然后进行乘法运算6 / 2 * 3,结果 为9。最后通过printf函数将结果打印出来。

试题二: 2. 以下代码段中存在什么错误,并进行改正。 ```c #include int main() { int num1, num2; printf("请输入两个整数:"); scanf("%d %d", num1, num2); int sum = num1 + num2; printf("两个整数的和为:%d", sum); return 0; } ``` 答案及详解: 代码存在的错误是scanf函数参数传递时变量名未加取地址符&,需要改正为scanf("%d %d", &num1, &num2)。 scanf函数用于从标准输入读取数据,需要通过取地址符&将变量的地址传递给scanf函数,以便将读取的数据存储到相应的变量中。在给

定的代码中,应该在num1和num2前面加上&,即scanf("%d %d", &num1, &num2)。 试题三: 3. 下面的代码中,函数fun的返回值是什么? ```c #include int fun(int *arr, int n) { if (n == 0) { return 0; } return (*arr) + fun(arr+1, n-1); } int main() { int arr[] = {1, 2, 3, 4, 5}; int sum = fun(arr, 5); printf("数组元素的和为:%d", sum); return 0; } ```

大学_C语言程序设计试题含答案

C语言程序设计试题含答案 C语言程序设计试题含答案(一) 一、填空题 1.以下程序输入3个整数值给a,b,c,变量b中的'值给a,变量c中的值给b,变量a中的值给c,交换后输出a,b,c的值。 #include stdio.h main() { int a,b,c,__①_d___; printf("enter a,b,c");scanf("%d%d%d",a,b,c); ___d=a_②____;__a=b_③_____;____b=c④_____;_c=d__⑤_____; printf("%d,%d,%d",a,b,c); } 2.求出200以内的整数中,最大的可以被17整除的数是哪个数。 #include stdio.h ___①main()____ {int i; for(_i=200___②____;___③i=0_______;i--) {if(____i%17==0____④________) break;}

printf("%d\n",__⑤_i____); } 3.以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。 main() { int i,a[20],sum,count; sum=count=0; for(i=0;i20;i++) scanf("%d", __①_a[i]__ ); for(i=0;__ ②_i20_;i++) ? { if(a[i]0) ?? { count++; ?? sum+= _a[i]__③___ ; ?? } ? } printf("sum=%d,count=%d\n",__sum④___,__⑤__count___); } 4.以下程序的功能是调用函数fun计算:m=1+2+3+4+…+9+10,并输出结果。请填空。 int fun( int n) { int m=0,i;

c语言试卷含答案

c语言试卷含答案 Revised final draft November 26, 2020

一、选择题(26分) 1. 正确的C语言标识符是(A)。 A._buy_2 B.2_buy C._buy D.buy 2. 以下选项中,合法转义字符的选项是(A)。 A.’\\’ B.’\018’ C.’xcb’ D.’\ab 3、下列语句中,错误的是(B ) A、#define PI B、#include <>; C、if(2); D、for(;;) if(1) break; 4、能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是() A、 a>=10 or a<=0 B、 a>=0|a<=10 C、 a>=10 &&a<=0 D、 a>=10‖a<=0 5、以下对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=, y=; 则以下符合C语言语法的表达式是(A)。 A.a+=a-=(b=2)*(a=8) B. n=n*3=18 C.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=*&x B、y=*p C、y=x D、y=&x 10、设x、y、z均为int型变量,则执行语句:x=y=3;z=++x||++y;后,y的值为() A、不定值 B、4 C、3 D、1 11.有如下程序段: int x1,x2; char y1,y2; scanf(”%d%c%d%c”,&x1,&y1,&x2,&y2); 若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是 (A)。(注: └┘ 代表空格) A.10A └┘20B B.10 └┘ A20B C.10 └┘A └┘ 20 └┘ B D.10A20 └┘ B 12.有如下程序段,对应正确的数据输入是(A)。 float a,b;

计算机C语言考试试题带答案

计算机C语言考试试题带答案 1).关于c语言的变量,以下叙述中错误的是() A.所谓变量是指在程序运行过程中其值可以被改变的量 B.变量所占的存储单元地址可以随时改变 C.程序中用到的所有变量都必须先定义后才能使用 D.由三条下划线构成的符号名是合法的变量名 正确答案:B 答案解析:变量是指在程序运行过程中其值可以改变的值,一个变量实质 上是代表了内存中的某个存储单元。在程序中对某个变量的操作实际上就是对这个 存储单元的操作,程序运行期间,这个分配的存储单元不会改变,但是其值可以变化。变量命名要符合标识符的规定,其中下划线是标识符的组成字符。程序中所有变量都必须先定义后使用。 2).当变量c的值不为2、4、6时,值也为〃真〃的表达式是() A.(c=2) | | (c=4) | | (c=6) B.(c>二2 && c〈二6)&& ! (c%2) C.(c>二2 && c<=6)&&(c%2!=l) D.(c>=2 && c<=6) || (c!=3) I I (c!=5) 正确答案:D 答案解析:逻辑或运算中,只要有一项为真,表达式的值就为真,故选项D 中c的值不为2、4、6时,那么表达式(c>=2 && c<=6)以及(c!二3)、(c! =5)必有一个 成立,表达式的值也为真。 3).在C语言中,函数返回值的类型最终取决于 A.函数定义时在函数首部所说明的函数类型 B.return语句中表达式值的类型 C.调用函数时主调函数所传递的实参类型

D.函数定义时形参的类型 正确答案:A 答案解析:在C语言中,应当在定义函数时指定函数值的类型,凡不加类型说明的函数,一律按整型处理。在定义函数时,对函数值说明的类型一般应该和return语句中的表达式类型一致。如果函数值的类型和return语句中的表达式类型不一致,则以函数类型为主,即函数类型决定返回值的类型。 4). C语言主要是借助以下哪种手段来实现程序模块化() A.定义常量和外部变量 B.使用丰富的数据类型 C.使用三种基本结构语句 D.定义函数 正确答案:D 答案解析:C语言用函数实现软件的模块化设讣。 5).以下叙述中正确的是() A.只有全局变量才有自己的作用域,函数中的局部变量没有作用域 B.只要是用户定义的标识符,都有一个有效的作用域 C.只有在函数内部定义的变量才是局部变量 D.局部变量不能被说明为static 正确答案:B 答案解析:在函数内定义的变量是局部变量,而在函数之外定义的变量称为外部变量,也是全局变量。全局变量可以为源文件中其他函数所共用,其作用域为从定义变量的位置开始到源文件结束。因此只要用户定义的标识符,全部都有作用域。局部变量可以说明为autos register以及statico 6).在关系中凡能惟一标识元组的最小属性集称为该表的键或码。二维表中可能有若干个键,它们称为该表的()。 A.连接码.

(完整版)C语言试卷及答案

一、选择题(每题 2 分,共 40 分) 1 、 C 语言源程序的基本单位是 ( ) A.程序行 B.语句 C. 函数 D. 字符 2 、 C 语言规定:在一个源程序中, main 函数的位置 ( ) 。 A .必须在最开始 B .必须在系统调用的库函数的 后面 C .可以任意 D .必须在最后 3 、在下列字符列中 ,合法的标识符是( ) A.p12&.a B.stud_100 C. water$12 D.88s um 4 、在 C 语言中,要求运算的数必须是整数的运算符是( ) A./ B.! C.% D.= = 5 、设有语句 int a =3;则执行了语句 a + = a - = 后,变量 a 的值是( ) a*a; A 、3 B 、0 C 、9 D 、- 12 6 、设 a=5,b=6,c=7,d=8,m=2,n=2 ,执行(m=a > b) &&(n=c>d)后 n 的值为( ) A 、 1 B 、2 C 、3 D 、4 7 、执行下列程序时输入: 1234567,程序的运 行结果是( ) main() { int x,y; scanf(“%2d%*2c%1d”,&x,&y); printf(“%d\n”,x+y); } A.17 B.46 C.15 D.9 8 、下述程序的输出结果是( ) 第 1 页共 6 页

#include void main() {int x=-1,y=4; int k; k=++x<=0&&!(y--<=0); printf("%d,%d,%d",k,x,y);} A.0,0,3 B.0,1,2, C.1,0,3, D.1,1,2 9 、为了避免嵌套的 if-else 语句的二义性, C 语言规定 else 总是与 ( ) 组成配对关系。 A.缩排位置相同的 if B.在其之前未配对的 if C.在其之前未配对的最近的 if D. 同一行上的 if 10、两次运行下面的程序,如果从键盘上分别输入 6 和4,则输出结果是( ) main() {int x; scanf(“%d“,&x); if(x++>5)printf(“%d”,x); else printf(“%d\n”,x--);} A.7 和 5 B.6 和 3 C.7 和 4 D.6 和 4 11、若变量 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 的值是。 if(x>y) z=x; x=y; y=z; A.x=10, y=20, z=30 B.x=20, y=30, z=30 第 1 页共 6 页

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

3

4

16.已知for(;n>=1;n--),下列语句实现将S2所指字符数组中前n 个字符复制到S1所指字符数组中,其中代码不正确的是(D )。 A.*S1++=*S2++ B.S1[n-1]=S2[n-1] C.*(S1+n-1)=*(S2+n-1) D.*(++S1)=*(++S2) 17.调用函数的实参与被调用函数的形参应该有如下关系( D )。 A.只要求实参和形参个数相等B.只要求形参和实参顺序相同 C.只要求实参和形参数据类型相同D.上述三点均需具备18.联合体成员的数据类型(B )。 A.相同B.可以不同也可以相同 C.长度一样D.是结构体变量 19.由系统分配和控制的标准输出文件为( D )。 A.键盘B.磁盘C.打印机D.显示器20.C语言标准库函数fread(fd,buffer,n)的功能是(A)。 A.从文件fd中读取长度不超过n个字节的数据送入buffer指向的内存区域 B.从文件fd中读取长度不超过n-1个字节的数据送入buffer 指向的内存区域 5

c语言笔试试题及答案

c语言笔试试题及答案 一、 1、一个完整的计算机系统包括 A)主机与外部设备 B)主机与操作系统 C)硬件系统与软件系统 D)CPU、存储器与外部设备本题的正确答案是:C) 2、计算机的存储器完整的应包括 A)内存储器与外存储器 B)磁盘、磁带与光盘 C)RAM与ROM D)软盘与硬盘 本题的正确答案是:A) 解析: 存储器包括内部存储器和外部存储器,而选项B,D只能统称为外部存储器,选项C 属于内部存储器。 3、十进制数927的十六进制值表示形式为 A)39F B) 39E C) 3AE D) 361 本题的正确答案是:A) 解析: 本题考查不同进制数之间的转换. 4、WPS字处理软件属于 A)系统软件 B)应用软件 C)管理软件 D)多媒体软件

5、在计算机内部,一切信息的存取、处理与传送均采用 A)二进制 B)十六进制 C)BCD码 D)ASCII码 本题的正确答案是:A)6、计算机中,能够用来与外存交换信息的是 A)键盘 B)RAM C)显示器 D)ROM 本题的正确答案是:B) 解析: RAM中存储着当前使用的程序、数据、中间结果和与外存交换的数据,CPU根据需要可以直接读/写RAM中的内容。 7、微机的主机与外设相连的设备是 A)磁盘驱动器 B)输入/输出接口电路 C)总线 D)内存 本题的正确答案是:B) 解析: 外部设备是通过接口电路连至主机。总线是CPU、存储器和输入输出接口之间的通道。 8、在多媒体计算机系统中,不能存储多媒体信息的是 A)光盘 B)磁盘 C)磁带 D)光缆

解析: 光缆是多媒体信息的传输通道,不能存储多媒体信息。 9、要将当前盘当前目录下一个文本文件内容显示在屏幕上,正确的命令形式是 A) TYPE A*.* B) TYPE EAST. EXE C) TYPE PRO.C>PRN D) TYPE ZFC.TXT 本题的正确答案是:D) 解析: TYPE命令不能使用通配符,A项排除;扩展名为EXE的文件是可执行文件,B项 排除;C项是把pro. C送往打印机,故排除。 10、重新启动DOS,应同时按下 A) Ctrl+Alt+Del B) Ctrl+Alt+Esc C) Ctrl+Alt+Shift D) Ctrl+Esc+Del 本题的正确答案是:A) 11、DOS文本文件的扩展名是 A) .SYS B).DOC C).COM D).TXT 本题的正确答案是:D) 解析: SYS为系统专用文件,DOC为Word 文档文件,COM为系统命令文件,TXT为文本文件。 12、以下正确的叙述是 A) C语言允许main函数带形参,且形参个数和形参名均可由用户指定 B)C语言允许main函数带形参,形参名只能是argc和argv

相关文档
最新文档