文档库 最新最全的文档下载
当前位置:文档库 › C语言基础练习题(含答案)

C语言基础练习题(含答案)

C语言基础练习题(含答案)
C语言基础练习题(含答案)

第一章C 语言基础知识

1选择题 以下不是C 语言的特点的是( C )。

A 、 语言简洁紧凑

B 、 能够编制出功能复杂的程序

C 、 C 语言可以直接对硬件操作

D 、 C 语言移植性好

一个C 程序是由()。 A . 一个主程序和若干子程序组成 B . 一个或多个函数组成 C. 若干过程组成 D. 若干子程序组成 C 语言程序的基本单位是()。

A .程序行

B .语句

C .函数

D .字符 下列说法中,错误的是()。

A ?每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号

B ?每个函数都有一个函数头和一个函数体,主函数也不例外

C ?主函数只能调用用户函数或系统函数,用户函数可以相互调用

D ?程序是由若干个函数组成的,但是必须有、而且只能有一个主函数 以下说法中正确的是()。

A . C 语言程序总是从第一个定义的函数开始执行

B ?在

C 语言程序中,要调用的函数必须在 main ()函数中定义

C . C 语言程序总是从 main ()函数开始执行

1.

1.

2. 3. 4.

5. 6. 7. 8. 9.

10. 11. 12. A . abc123 B . no.1 C . _123_ D . _ok

正确的C 语言标识符是 ()。

A . _buy_2

B . 2_buy

C . ?_buy

D . buy?

请选出可用作 C 语言用户标识符的一组标识符( )。

A . void

B . a3_b3

C . For

D . 2a defi ne _123

-abc

DO WORD IF Case sizeof

下列符号中, 不属于转义字符的是( )。

A . \\

B . \0xAA

C . \t

D . \0

不属于C 语言关键字的是()。

A . int

B . break

C . while

D . character

是C 语言提供的合法关键字的是( )。

A . Float

B . sig ned

C . integer

D . Char

以下不能定义为用户标示符的是( )。

A . scanf

B . Void

C . 3com

D . i nt

F 列字符序列中,不可用作 C 语言标识符的是(

D . C 语言程序中的 main ()函数必须放在程序的开始部分 C 编译程序是()。

A .字符A

B .字符a

C .字符c

以下选项中, 合法转义字符的选项是( )。 A . ' ' B . '\018' C . 'xab ' 以下选项中,正确的字符常量是( )。 A . ”F” B . ' '' C . 'W' 以下选项中可作为 C 语言合法整数的是 A. 10110B B . 0386 C . OXffa 下列变量定义中合法的是A . short _a=1-.le-1; B . double b=1+5e2.5;

C . lo ng do=0xfdaL;

D . float 2_and=1-e-3;

A . 9*x A n/(2*x-1)

B . 9*x**n/(2*x-1)

C . 9*pow(x, n)*(1/(2*x-1))

D . 9*pow( n,x)/(2*x-1)

3a b

若有代数式

,则不正确的C 语言表达式是()。

cd

A . a/c/d*b*3

C . 3*a*b/c*d

已知各变量的类型说明如下: int m=8,n, a, b;

un sig ned long w=10; double x=3.14, y=0.12; 则以下符合C 语言语法的表达式是( A . a+=a-=(b=2)*(a=8) C . x%3

以下符合C 语言语法的赋值表达式是

A. a=9+b+c=d+9

C . a=9+b, b++, c+9

B . 3*a*b/c/d

D . a*b/d/c*3 )。 B . n=n*3=18 D . y=float (m) ()。

B . a=(9+b, c=d+9) D . a=9+b++=c+9已知字母A 的ASCII 码为十进制数65,且S 为字符型,则执行语句 S=' A' + '6'-' 3'; 后,S 中

的值为()。 A . 'D ' B . 68 C .不确定的值

D . 'C '

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

以下选项中,合法的用户标识符是( )。

A . long

B . _2abc

C . 3dmax

D . A.dat 以下选项中, 合法的实型常数是( )。

A . 5E2.0

B . E-3

C . 2E0

D . 1.3

E A . C 程序的机器语言版本

B .一组机器语言指令

C .将C 源程序编译成目标程序

D .由制造厂家提供的一套应用软件 已知大写字母 A 的ASCII 码值是65, 字符常量'101 '是()。 13. 14. 15.

16.

17.

18.

19.

20. 21 . 22. 23.

24. 25. 26. 与数学式子 9x n 2x 1

对应的C 语言表达式是

小写字母a 的ASCII 码是97,则用八进制表示的 D .非法的常量

D . 'abc ' D .'' D . x2a2

B . ++

C . *=

若有说明语句:char s='\72';则变量s ()。 A .包含一个字符

B .包含两个字符

C .包含三个字符

D .说明不合法,s 的值不确定

若有定义:int m=7; float x=2.5, y=4.7;

则表达式 x+m%3*

(int )(x+y )%2/4

的值是()。

A . 2.500000

B . 2.750000

C . 3.500000 在C 语言中,char 型数据在内存中的存储形式是

( )。 A .补码 B .反码 C .原码 设变量x 为float 类型,m 为int 类型,则以下能实现将 第三

位进行四舍五入运算的表达式是( )。

A . x=(x*100+0.5)/100.0

B . m=x*100+0.5, x=m/100.0

C . x=x*100+0.5/100.0

D . x=(x/100+0.5)*100.0

表达式13/3*sqrt (16.0)/8的数据类型是()。

A .int

B . float

C . double

设以下变量均为int 类型,则值不等于 7的表达式是( A . (m=n=6, m+n, m+1) B. (m=n=6, m+n, n+1) C. (m=6, m+1, n=6, m+n) D. (m=6, m+1, n=m, n+1)

假设所有变量均为整型,则表达式 (x=2, y=5, y++, x+y)的值是()。 A . 7 B . 8 C . 6 D . 2 已知s 是字符型变量,下面不正确的赋值语句是( )。 A . s='\012' B . s= ' u+v '; C . s=' 1'+ '2';

D . s=1+2;

已知s 是字符型变量,下面正确的赋值语句是( )。

A . s=' abc ';

B . s='\08';

C . s=' \xde ';

D . s= ;

若有以下定义,则正确的赋值语句是( )。

int x,y;

float z;

A . x=1,y=2,

B . x=y=100

C . x++;

D . x=int (z); 设x 、y 均为float 型变量,则不正确的赋值语句是 ( )。

A . ++x ;

B . x*=y-2;

C . y=(x%3)/10;

D . x=y=0;

下列语句中符合 C 语言的赋值语句是(

)。

A . a=7+b+c=a+7;

B . a=7+b++=a+7;

C . a=7+b,b++,a+7

D . a=7+b,c=a+7;

putchar 函数可以向终端输出一个( )

A .整型变量表达式值。

B .字符串

C .实型变量值。

D .字符或字符型变量以下程序段的输出结果是 ()。

27.

28.

29.

30. 31 . 32.

33.

34.

35. 36.

37. 38.

39. 40.

D . 0.000000 D . ASCII 码

x 中的数值保留小数点后两位,

D .不确

定 )。

int a=12345; printf( ” %2d\n ”, a);

A . 12 B. 34 C . 12345 D .提示出错、无结果

41 .若x和y均定义为int型,z定义为double型,以下不合法的scanf ()函数调用语句为 ()。

A. scanf("%d%lx,%le”,&x,&y,&z );

B. scanf (” %2d*%d%lf ”,&x, &y, &z);

C. scanf(" %x%*d%o ”, &x,&y);

D. scanf(" %x%o%6.2f ” , &x,&y,&z);

42.有如下程序段:

int x1, x2 ;

char y1, y2;

scanf (” %d%c%d%c ”,&x1,&y1,&x2,&y2 );

若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是()。(注:- 代表空格)

A . 10A」20

B B . 10」A20B

C. 10」20 LJ B D . 10A20」B

43 .若变量已正确说明为float类型,要通过语句scanf(" %f %f%f ”,&a, &b, &c);给a赋予10.0, b赋

予22.0, c赋予33.0,不正确的输入形式为( )。

A . 10< 回车> B. 10.0,22.0,33.0< 回车>

22<回车>

33

C. 10.0< 回车> D . 10 22< 回车>

22.0 33.0< 回车> 33< 回车>

44. 有如下程序,若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是()。

(注:「代表空格)

int x1 , x2 ;

char y1, y2;

scanf("%d%d”,&x1,&x2 );

scanf (” %c%c”, &y1,&y2 );

A . 1020A

B B . 10」20」ABC

C . 10」20

D . 10」20AB

AB

45. 已有定义int a=-2 ;和输出语句:printf (" %8lx ”,a);以下正确的叙述是( )。

A .整型变量的输出格式符只有%d 一种

B. %x是格式符的一种,它可以适用于任何一种类型的数据

C. %x是格式符

D . %8lx不是错误的格式符,其中数字8规定了输出字段的宽度

46.有如下程序段,对应正确的数据输入是()。

float x,y;

scan f(”%f%f ”,&x, &y);

printf(” a=%f,b=%f ”, x,y);

A . 2.04< 回车>

B . 2.04,5.67< 回车>

5.67<回车>

scanf( “ x=%d,y=%d,z=%d ”,&a,&y,&z);

A . 123 B. x=1,y=2,z=3

C. 1,2,3

D. x=1 LJ y=2 LJ z=3

48. 以下说法正确的是()。

A .输入项可以为一个实型常量,如scanf(” %f” ,3.5);

B .只有格式控制,没有输入项,也能进行正确输入,如scanf(" a=%d,b=5d”);

C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(”%4.2f”,&f);

D .当输入数据时,必须指明变量的地址,如scanf("%f”,&f);

49. 根据定义和数据的输入方式,输入语句的正确形式为:()° (注:」代表空格) 已有定义:float x,y;

数据的输入方式:1.23<回车>

4.5<回车>

A . scan(” %f,%f ”,&x,&y); B. scanf(” %f%f ”,&x,&y);

C. scanf("%3.2f LJ%2.1f”,&x,&y); D . scanf("%3.2f%2.1f ”,&x,&y);

50. 根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为( )。

#include ” stdio.h”

main ()

{char s1,s2,s3;

输入语句;

printf(” %c%c%c”,s1,s2,s3);

输入形式:A」C<回车>(注:「代表空格)

输出形式: A

A . scanf(" %c%c%c ”,&s1,&s2,&s3);

B . scanf(” %c LJ% LJ c%c”,&s1, &s2,&s3);

C. scanf(" %c,%c,%c ”,&s1,&s2,&s3);

D . scanf("%c%c”, &s1, &s2,&s3);

51. 以下程序的执行结果是:()。

#include ” stdio.h”

main ()

{ int x=2,y=3;

printf( "x=%%d,y=%%d\n ” ,x,y); }

A. x=%2,y=%3

C. x=2,y=3

52. 以下程序

的输出结果是( )。(注:

#include ” stdio.h”

main ()

{ printf( "\nstring1=%15s* ”, ” programming ”); B. x=%%d,y=%%d D. x=%d,y=%d

「代表空格)

C语言程序设计第三版习题库答案

C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y);

}elseif(____x<10_______){/*1≤x-10*/ _____y=2*x-1_______; printf("x=%3d,y=2*x-1=%d\n",x,y); }else{/*x≥10*/ y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x);

C语言基础知识_测试题

C语言程序设计基础测试题 一、单选 [1] 下面叙述中错误的是____。 A. 复合语句中定义的函数只在该复合语句中有效 B. return( )语句中的括号中,可以是变量,常量或有确定值的表达式 C. 形式参数也是局部变量 D. 主函数中定义的变量在整个程序中都是有效的 [2]下列说法中正确的是____。 A.带参数的宏定义中的参数是没有类型的 B.宏展开将占用程序的运行时间 C.宏定义命令是C语言中的一种特殊语句 D.使用#include命令包含的头文件必须以“.h"为后缀 [3.] 若函数的形参为一维数组,则下列说法中正确的是____。 A.调用函数时的对应实参必为数组名 B.形参数组可以不指定大小 C.形参数组的元素个数必须等于实参数组的元素个数 D.形参数组的元素个数必须多于实参数组的元素个数 [4]. 系统的标准输出设备是____。 A.键盘 B.硬盘 C.内存 D.显示器 [5] 下面叙述中正确的是____。 A.全局变量在定义它的文件中的任何地方都是有效的 B.全局变量在程序的全部执行过程中一直占用内存单元 C. C语言的switch语句中case后可为常量或表达式或有确定值的变量及表达式 D. 说明函数时必须明确其参数类型和返回类型 [6]. C程序的基本结构单位是____。 A.文件 B.语句 C.函数 D.表达式 [7] 对于定义,char *aa[2]={"abcd","ABCD"},选项中说法正确的是____。 A.aa数组元素的值分别是"abcd"和"ABCD" B.aa是指针变量,它指向含有两个数组元素的字符型一维数组 C.aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址 D.aa数组的两个元素中各自存放了字符'a'和'A'的地址 [8]. 任何一个C语言的可执行程序都是从____开始执行的。 A.程序中的第一个函数 B.main( )函数的入口处

C语言程序设计程序填空题库及答案

程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <> main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); }

【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

年C语言程序设计基础期末考试试卷‘B’及答案

年C语言程序设计基础期 末考试试卷‘B’及答案 The following text is amended on 12 November 2020.

一、单项选择题 1. 在C语言中,下面字符串能用作变量名的是( )。 A、a+b B、auto C、2-and D、a2 2. 若double x=2,y;则执行y=x+3/2;后,y的值是( )。 A、 B. C. D. 3 3. 下列关于C语言中字符常量与字符串常量的叙述中,错 误的是( )。 A、字符常量是用单撇号括起来的一个字符 B、空格字符也可用作字符常量 C、字符串常量是用单撇号括起来的一个字符序列 D、字符串常量是用双撇号括起来的一个字符序列 4. 若有以下变量说明和数据的输入方式,则正确的输入语 句为( )。

变量说明:float x1,x2; 数据的输入方式:<回车> <回车> A、scanf(“%f,%f”,&x1,&x2); B、scanf(“%f%f”,&x1,&x2); C、scanf(“%,%”,&x1,&x2); D、scanf(“%%”,&x1,&x2); 6. 在一个源文件中定义的全局变量的作用域为()。 A. 本文件的全部范围 B. 从定义该变量开始至本文件结束 C. 本函数的全部范围 D. 本程序的全部范围

7. 当调用函数时,实参是一个数组名,则向函数传送的是( )。 A、数组的长度 B、数组的首地址 C、数组每一个元素的地址 D、数组每个元素中的值 8.若j为整型变量,则下面while循环( )。 j=10; while(j!=0) j=j-1; A、执行0次 B、执行1次 C、执行10次 D、执行无限次 9. 在while(x)语句中的x与下面条件表达式等价的 是:( )。 A、x!=0 B、 x==1 C、x!=1 D、x==0 10. 以下对C语言函数的描述中,正确的是( )。 A、调用函数时,参数可以是表达式

C语言程序设计 复习题库

一、填空 1. break 语句通常用于switch // 循环中。 2. C 语言对数组下标的引用一般从0 开始。 3. C 语言中,一个函数一般由两个部分组成,它们是函数首部和函数体。 4. C 标准库函数中,字符串的处理函数包含在string.h 头文件中,数学函数包含在 math.h 头文件中。 5. C 程序的运行需要经过编译和链接两步进行。 6. C 程序中用/**/ 括起来的内容是程序的注释语句。 7. C 语言函数是由函数首部和函数体两部分组成。其中,函数首部包括函数类型、函数 名和函数参数。 8. C 语言提供的三种逻辑运算符是& ,// ,!。 9. C 语言源程序经过编译后,生成文件的后缀名是.c 。 10. C 语言源程序经过连接后,生成文件的后缀名是.exe 。 11. C 语言中,关系表达式和逻辑表达式的值是1//0 。 12. C 语言中的标识符只能由三种字符组成,他们是字母,数字,下划线。 13. C 语言中的每条基本语句以;作为结束符,每条复合语句以} 作为结束符。 14. C 语言中函数返回值的类型是由函数类型决定的。 15. C 源程序的基本单位是函数。 16. int a = 2, b = 3; 表达式 a > b ? a ++ : ++ b 的值为 4 。 17. int x=1,y=1,z=1; x+=y+=z; 则表达式xb>c 的值是0 。 19. 定义一个指针p,它指向一个有 6 个整型元素的一维数组,定义语句为int *p=a[6] ; 。 20. 定义一个指针数组p ,它有 4 个元素,每个指针指向一个整型数据,定义语句为int *p[4]; 。 21. 赋值语句是由= 加上一个分号构成。 22. 构成数组的各个元素必须具有相同的类型。 23. 关系表达式x+y>5 的相反表达式为x+y !>5 。 24. 函数strlen("1234\0xy") 的值为:9 。 25. 函数的形参在未被调用前不分配空间,函数形参的数据类型要和实参相同。 26. 函数体用{ 开始,用} 结束。 27. 结构化设计中的三种基本结构是顺序,选择,循环。

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

C语言考试试题基础版

一、选择题 1. 在每个C 程序中都必须包含有这样一个函数,该函数的函数名为 。 A. main B. MAIN C. name D. function 2. 在以下关于C 语言的注释的叙述中,不正确的是 。 A .注释可用"/*"、"*/"形式表示,也可用"//"形式表示 B .编译器在编译一个程序时,将跳过注释,不对其进行处理 C .编译器在编译一个程序时,可发现注释中的单词拼写错误 D .程序中注释的多少不会影响所生成的可执行文件的长度 3. 以下叙述不正确的是 。 A .在C 程序中,严格区分大小写字母 B .一个C 源程序有且仅有一个main 函数 C .在C 程序中,注释只能位于一条语句的后面 D .一个C 程序总是从main 函数开始执行 4. 下列合法的标识符为 A. abde+ B. #KDJF C. 67KDJ D. DK3_ 5. 关于字符串和字符的关系正确的是 A. “A ”与’A ’是相同的 B. 字符串是常量,字符是变量 C. “A ”与’A ’是不同的 D. “A ”与“A ”是相同的 6. 下面关于语句的说法正确的是 A. 下面这两段程序的执行效果是一致的 B. 空语句是只有一个分号的语句,它其实什么也不干 C. 语句的构成不一定需要分号 D. 语句的书写对程序的运行不起作用,因此可以随便写都可以 7. 以下各标识符中,合法的用户标识符组为 。 A. PAd ,P#d ,b-b ,abc ,_0123,ssiped B. cin ,a10,CPP ,float ,del_word ,signed C. void ,max ,hiy ,,list ,*jer if (x>y) {z=x; s=z*z;} else {z=y;s=1/(z*z);} if (x>y) z=x; s=z*z; else z=y;s=1/(z*z);

C语言程序设计考试题库

一、判断题 1、所谓常量,就是在程序运行过程中其值可以改变的量。() 2、一个C程序可以由多个源程序文件构成,但其中只能有一个main()函数。() 3、在C语言中do-while 语句和for循环均是先执行循环体语句,再判断表达式。() 4、在函数调用中将变量的地址作为实参传递给对应形参时,实现的是单向的值传递。() 5、C语言中所有字符串都是以‘\0’结束的。() 6、do-while构成的循环语句中的循环体最少执行1次。() 7、数组名在C语言中表示的是数组的首地址。() 8、使用gets()函数输入字符串时可以在字符串中输入空格。() 9、算术运算符中‘/’的优先级高于‘%’。() 10、char a[5];该语句表明数组a中的第五个元素为a[5]。() 11、C语言源程序文件的扩展名均为.c。() 12、char a[5];数组a中有a[1]、a[2]、a[3]、a[4]、a[5]共5个元素。() 13、C语言程序区分大小写,字符常量必须定义为大写。() 14、若int i=10,j=2;则执行i*=j+8;后i的值为28。() 15、若int x=100,y=200;则语句printf("%d",(x,y));输出结果为100。() 16、c语言中的标识符只能由字母,数字和下划线三种字符组成。() 17、函数getchar()的作用是:输出一个字符。() 18、一个C语言程序总是从第一个函数开始执行。() 19、在c语言中,char型数据在内存中是以ASCII码形式存储的。() 20、在C语言中switch语句必须使用break语句。() 二、选择题 1、以下说法正确的是()。 A、C语言程序总是从第一个函数开始执行。 B、C语言程序中要调用的函数必须在main()函数中定义。 C、C语言程序总是从main()函数开始执行。

C语言程序设计复习题

《C语言程序设计》复习题 一、判断题(本大题共60个小题) 1.C程序执行的入口是main()函数,所以main函数必须放在程序的开头。 2.定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。 3.注释内容太多会影响程序的执行效率。 4.变量要“先定义,后使用”。 5.字符常量'a'与字符串常量"a"没有区别。 6.数学公式y=-6xz+5[2(a-5)+3]写成C语言表达式是y=-6*x*z+5*[2*(a-5)+3]。 7.数学公式y=|x|+ab-c写成C语言表达式是y=fabs(x)+a*b-c。 8.表达式5/2+5.0/2+7%6 的值为5.5。 9.设int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/2*(int)(a+c)/2)%4 的值为:4.5。 10.设int a=12; 则表达式a/=a+a的值是0.5。 11.在C语言中,运算符!比&&的优先级高。 12.在C语言中,运算符的优先级最小的是逗号运算符。 13.scanf("%d,%d",&x,&y);的输入格式:3,4<回车>。 14.以下程序运行结果是:1,7,0 void main() { int x=1,y=1,z=10; if(z< 0) if(y> 0) x=3; else x=5; printf(" %d," ,x); if(z=y< 0) x=3; else if(y==0) x=5; else x=7; printf(" %d,%d" ,x,z); } 15.该程序运行结果是:BCother void main()

{ char x=‘B’; switch(x) { case ‘A’: printf(“A”); case ‘B’: printf(“B”); case ‘C’: printf(“C”); default: printf(“other”); } } 16.下面程序段运行时输出结果是a=2,b=8 void main() { int x=1,y=1,a=2,b=7; switch(x) { case 1: switch(y) { case 0: a++;break; case 1: b++;break; } case 2: a++;b++;break; case 3: a++;b++; } printf("a=%d,b=%d\n",a,b); } 17.下面程序,当输入为:"abc?" 时,执行结果是:abc void main() { char c; c=getchar(); while (c!='?' ) { putchar(c); c=getchar();} }

C语言编程基础考试试题

C语言编程基础考试试题 文档名称文档密级 C语言编程基础考试 [考前说明]本题目中不考虑头文件引用问题(假定已经包含正确的头文件),C 语言的标 准函数都可用;如果不特别说明, 假定程序运行环境为:操作系统Windows 2000, VC6.0编译环境,缺省为四字节对齐, X86(80586)CPU处理器(32位小字节序处理器). 一、单选题 1、给出以下定义: char acX[ ]= "abcdefg"; char acY[ ]= {'a','b','c','d','e','f','g'}; 则正确的叙述为( ) A) 数组acX和数组acY等价 B) 数组acX和数组acY的长度相同 C) 数组acX的长度大于数组acY的长度 D) 数组acX的长度小于数组Y的长度 2、 void example(char acHello[]) { printf("%d", sizeof(acHello)); return; } void main()

{ char acHello[] = "hello"; example(acHello); return; } 的输出是( ) A 4 B 5 C 6 D不确定 3、以下叙述中不正确的是( ) A) 在不同的函数中可以使用相同名字的变量 B) 函数中的形式参数是在栈中保存 C) 在一个函数内定义的变量只在本函数范围内有效 D) 在一个函数内的复合语句中定义的变量在本函数范围内有效(复合语句指函数 中的成对括号构成的代码) 4、设有如下定义: unsigned long pulArray[] = {6, 7, 8, 9, 10}; unsigned long *pulPtr; 则下列程序段的输出结果为( ) 1 文档名称文档密级 pulPtr = pulArray; *(pulPtr + 2) += 2; printf ("%d,%d\n", *pulPtr, *(pulPtr + 2)); A)8,10 B)6,8 C)7,9 D)6,10

国家二级C语言机试(C语言基础知识)模拟试卷8

国家二级C语言机试(C语言基础知识)模拟试卷8 (总分:60.00,做题时间:90分钟) 一、选择题(总题数:30,分数:60.00) 1.我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令。关于转换以下说法错误的是 (分数:2.00) A.一条C语句可能会被转换成多条机器指令 B.一条C语句对应转换成一条机器指令√ C.一条C语句可能会被转换成零条机器指令 D.某种类型和格式的C语句被转换成机器指令的条数是固定的 解析:解析:由C语言编写的程序,通过编译、链接转换成可以让机器识别的01二进制指令。这些二进制指令命令机器计算,这些就是机器指令,而C语言的语句条数和机器指令的条数不是一对一的关系。 2.以下选项中不属于C语言程序运算符的是 (分数:2.00) A.sizeof B.() C.<> √ D.&& 解析:解析:sizeof为测试内存的运算符,()为算术运算符,&&为逻辑运算符。而<>不是C语言的运算符,C语言中!=表示不等于。 3.若变量已正确定义并赋值,以下不能构成C语句的选项是 (分数:2.00) A.A=a+b: B.B++; C.a=a+b √ D.A?a:b; 解析:解析:C语言语句的表示为分号,不加分号的表达式不能看成C语句。 4.以下叙述中正确的是 (分数:2.00) A.程序必须包含所有三种基本结构才能成为一种算法 B.如果算法非常复杂,则需要使用三种基本结构之外的语句结构,才能准确表达 C.只有简单算法才能在有限的操作步骤之后结束 D.我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令√ 解析:解析:C语句构成了函数,函数构成的程序,经过编译转换成二进制代码后可以运行,算法是指为解决某个特定问题而采取的确定且有限的步骤,可以利用代码来捕述算法,而算法+数据结构才是程序,结构化的程序由顺序结构、循环结构和选择结构三种基本结构组成。由这三种基本结构组成的算法可以解决任何复杂的问题,反之则不一定,所有算法必须在有限步骤后结束。 5.下列选项中,不能用作标识符的是 (分数:2.00) A._1234 B._1_2 C.int_2_ D.2_int_ √ 解析:解析:C语言中标以符必须以字母或者下划线开始,选项D)中是以数字开始的不能作为标识符。6.以下选项中作为C语言合法常量的是 (分数:2.00) A.-80.√ B.-080

(完整版)C语言程序设计选择题库及答案

单项选择题 导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。本类习题主要检查对C语言基本概念的掌握情况,读者可根据学习进度选做部分习题。在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。对于掌握不准的问题, 应该通过上机实验来检验。 【1.1】以下不正确的C语言标识符是____。 A) int B) a_1_2 C) ab1exe D) _x 【1.2】以下是正确的C语言标识符是____。 A) #define B) _123 C) %d D) \n 【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。 ??? A) print B) i\am C) Pxq D) str_l ??? _3d one_half My->book Cpp ??? oodb start$it line# pow ??? aBc 3pai His.age while

【1.4】下面各选项组中,均是C语言关键字的组是。 A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 【1.5】下列不属于C语言关键字的是。A) default B) register C) enum D) external 【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。 A) 程序文件的开始B) 程序文件的最后 C) 它所调用的函数的前面D) 程序文件的任何位置 【1.7】下列关于C语言的叙述错误的是____ A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义

C语言基础测试题

C语言基础测试题 一选择题(每题2分) 1. C语言程序的基本单位是( A )。 A. 函数 B. 过程 C. 语句 D. 子程序 2. 对于whil e语句,错误的说法是( C )。 A.用条件控制循环体的执行次数 B.循环体至少要执行一次 C.循环体有可能一次也不执行 D.循环体中可以包含若干条语句 3. 定义语句int a=3;则执行语句a+=a-=a*a后,变量a的值是(C)。 A.3 B.0 C.9 D.-12 4. 关于局部变量和全局变量的叙述中,错误的是(A)。 A.全局变量的重复赋值不会影响局部变量的使用。 B.主函数中定义的变量在整个程序中都是有效的 C.形式参数也是局部变量。 D.不论是局部变量还是全局变量,都以最近的一次赋值为准。 5. 已知:int a=13;那么:printf("%02d",a)结果是(A)。 A.13 B.013 C.01 D.03 6. 在main函数中调用scanf给变量a赋值的方法是错误的,原因是()。 int *p,a; p=&a; printf("input a:"); scanf("%d",*p); A. *p表示的是指针变量p的地址 B. *p表示的是变量a 的值,而不是变量a的地址 C. *p表示的是指针变量p的值 D. *p只能用来说明p是一个指针变量 7.若有以下定义,则对a数组元素地址的正确引用是()。 A.a+5 B.*a+1 C.&a+1 D.&a[0] 8. 若int k=4,a=3,b=2,c=1;则kb); A. 1,3 B. 1,4 C. 2,3 D. 2,4 二.填空题。(每空3分) 1.写一个宏MIN,这个宏输入两个参数并返回较小的一个_________。2.main函数中:for(int i=0; i<3; i++){printf("%d",i);}输出结果是_________。3.设int a=9,b=20;则printf("%d,%d",a--,--b);的输出结果是_________。

C语言程序设计习题大全(附答案)

C语言基础一: 1.下列四组选项中,均不是C语言关健字的选项是( A )。 A) define B) gect C) include D) while IF char scanf go type printf case pow 2.下面四个选项中,均是合法整型常量的选项是( A )。 A)160 B)-0xcdf C) -01 D)-0x48a -0xffff 01a 986,012 2e5 011 0xe 0668 0x <<02>>B>>2 3.下面四个选项中,均是不合法的转义符的选项是( B )。 A) '\"' B) '\1011' C) '\011' D) '\abc' '\\' '\' '\f' '\101' 'xf' '\A' '\}' 'x1f' 4.下面不正确的字符串常量是( A )。 A)'abc' B)"12'12" C)"0" D)" " 5.以下选项中不合法的用户标识符是( A )。 A)abc.c B)file C)Main D)PRINT 6.C语言提供的合法关键字是( D )。 A) swith B) cher C) Case ).Default 7.下列标识符组中,合法的用户标识符为 A A)_0123与ssiped B)del-word与signed C)list与*jer D) keep%与wind 8.在C语言中,逻辑值"真"的表示是用( C )。 A) true B) 整型值0 C)非另整型值D) T 9若有以下定义 char s='\092'; 则该语句( B ) A)使s的值包含一个字符B)定义不合法,s的值不确定 C)使s的值包含4个字符D)使s的值包含3个字符 10设C语言中,int类型数据占2个字节,则float类型数据占(D )个字节。 A)1 B)2 C)8 D)4 11已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3'后,c2中的值为( A )。 A)D B)68 C)不确定的值D)C 12逻辑运算符两侧运算对象的数据类型是( D )。 A) 只是0或1 B) 只能是0或非0正数 C) 只能是整型或字符型数据D) 可以是任何合法的类型数据 13TURBO C中int类型变量所占字节数是( B )。

(完整版)C语言基础知识综合练习题

一、C语言基本知识和基本语句 (一)选择题 1.设a,b和c都是int型变量,且a=3,b=4,c=5则下面的表达式中,值为零的表达式是()。 A)‘a’&&’b’ B) a<=b C) a || b+c&&b-c D) ! ((a= ‘A’ && ch <=‘Z’) ? ( ch + 32):ch,则表达式ch的值是()字符。 A) A B) a C) Z D) z 3.若x和y都是int 型变量,x=100,y=200,且有程序段:printf (“%d”,(x,y));则输出结果是()。 A) 200 B)100 C) 100,200 D)输出格式不够,输出不确定的值4.C语言中最简单的数据类型包括()。 A)整型、实型、逻辑型 B) 整型、单精度型、双精度、字符型 C) 整型、字符型、逻辑型 D) 整型、实型、逻辑型、字符型5.C语言中,运算对象必须是整型的运算符是()。 A)% B) / C) % 和 / D) ** 6.数学关系x≥y≥z ,它对应C语言表达式是()。 A)(x>=y)&& (y>=z ) B) (x>=y) AND (y>=z ) C) (x>=y>=z) D) (x>=y) & (y>=z ) 7.以下说法中正确的是()。 A)C语言程序总是从第一个定义的函数开始执行 B) 在C语言程序中,要调用的函数必须在main()函数中定义 C) C语言程序总是从main()函数开始执行 D) C语言程序中的main()函数必须放在程序的开始部分 8.设int x=10,y=3,z;则语句printf (“%d\n”,z=(x%y,x/y));的输出结果是()。 A) 1 B) 0 C) 4 D) 3 9.C语言表达式10 != 9 的值是()。 A)true B) 非零值 C) 0 D) 1 10.合法的C语言字符常量是()。 A)’\t’B) “A” C) 65 D) A 11.若int类型数据占两个字节,则下列语句的输出为()。 int k = -1 ; printf (“%d,%u\n ”,k,k); A)- 1,- 1 B) – 1,32767 C) –1,32768 D) –1,65535 12.组成C语言程序的是()。 A)子程序 B) 过程 C) 函数 D) 主程序和子程序

C语言程序设计题库及答案

第1次客观题作业 一、单选题(共30题,每题3分) 1 .下面表示正确的是__A___。 A.C语言中的逗号是一种运算符 B.在C语言中,一行只能有一个语句 C.C中的变量不区分大小写 D.c中的关键字可以做为变量名 2 .字符型常量在内存中存放的是__A____代码值。 A.ASCII B.二进制 C.十进制D.八进制 3 .以下不正确的C语言标识符是(C )。 A.AB1 B._ab3 C.4ab D.a2_b 4 .以下运算符中优先级最低的运算符是_D____。 A.&& B.& C.|| D.= 5 .在C语言中,要求运算数必须是整型的运算符是___A___。A.% B./ C.< D.! 6 . C语言程序的基本单位是__C_____。 A.程序行B.语句C.函数D.字符 7 .将高级语言编写的程序翻译成目标程序的是___B____程序。A.解释程序B.编译程序C.汇编程序D.源程序8 .以下选项中,与k=n++完全等价的表达式是__A___。 A.k=n,n=n+1 B.n=n+1,k=n C.k=++n D.k+=n+1 9 .下列(A )不属于结构化程序设计的循环结构。 A.For B.While C.if-else D.do-while

10 .以下叙述中错误的是__A___。 A.用户所定义的标识符允许使用关键字 B.用户所定义的标识符应尽量做到“见名知意 C.用户所定义的标识符必须以字母或下划线开头 D.用户定义的标识符中,大、小写字母代表不同标识 11 .若有输入语句scanf( %d%d%d,&x,&y,&z);则不能使x值为5,y值为6,z值为7的输入是__A____。 A.5,6 ,7 B.5回车换行 6 7 C.5 6 7 D.5,6,7 12 .若i,j已定义为int类型,则下程序段中内循环体的总的执行次数是( B )。 for (i=3;i>0;i--) for (j=0;j<=4;j++){...} A.12 B.15 C.16 D.20 13 .下列选项中,合法的C语言关键字是_D___。 A.VAR B.Cher C.Integer D.default 14 .C语言中___A____。 A.能使用do-while语句构成的循环 B.do-while语句构成的循环必须用break语句才能退出 C.do-while语句构成的循环,当while语句中的表达式为非零时结束循环D.do-while语句构成的循环,当while语句中的表达式值小于零时结束循环15 .以下__D_____不是高级语言。 A.Basic语言 B.C语言 C.JAVA语言 D.汇编语言 16 .已知int x=2,y=3;则计算表达式y+=x-=x*=y后,x和y分别为(B )。 A.6,5 B.0,3 C.0,5 D.-4,2

C语言基础知识总复习(考前突击专用)

C语言基础知识总复习(考前突击专用) 总体上必须清楚的: 1)程序结构是三种: 顺序结构、选择结构(分支结构)、循环结构。 2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。 3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址. 4)bit是位是指为0 或者1。byte是指字节, 一个字节= 八个位. 概念常考到的: 1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。 2、define PI 3.1415926; 这个写法是错误的,一定不能出现分号。 3、每个C语言程序中main函数是有且只有一个。 4、在函数中不可以再定义函数。 5、算法:可以没有输入,但是一定要有输出。 6、break可用于循环结构和switch语句。 7、逗号运算符的级别最低,赋值的级别倒数第二。 第一章C语言的基础知识 第一节、对C语言的基础认识 1、C语言编写的程序称为源程序,又称为编译单位。 2、C语言书写格式是自由的,每行可以写多个语句,可以写多行。 3、一个C语言程序有且只有一个main函数,是程序运行的起点。 第二节、熟悉vc++ 1、VC是软件,用来运行写的C语言程序。

2、每个C语言程序写完后,都是先编译,后链接,最后运行。(.c---→.obj---→.exe)这个过程中注意.c和.obj文件时无法运行的,只有.exe文件才可以运行。(常考!) 第三节、标识符 1、标识符(必考内容): 合法的要求是由字母,数字,下划线组成。有其它元素就错了。 并且第一个必须为字母或则是下划线。第一个为数字就错了 2、标识符分为关键字、预定义标识符、用户标识符。 关键字:不可以作为用户标识符号。main define scanf printf 都不是关键字。迷惑你的地方If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。 预定义标识符:背诵define scanf printf include。记住预定义标识符可以做为用户标识符。 用户标识符:基本上每年都考,详细请见书上习题。 第四节:进制的转换 十进制转换成二进制、八进制、十六进制。 二进制、八进制、十六进制转换成十进制。 第五节:整数与实数 1)C语言只有八、十、十六进制,没有二进制。但是运行时候,所有的进制都要转换成二进制来进行处理。(考过两次) a、C语言中的八进制规定要以0开头。018的数值是非法的,八进制是没有8的,逢8进1。 b、C语言中的十六进制规定要以0x开头。 2)小数的合法写法:C语言小数点两边有一个是零的话,可以不用写。 1.0在C语言中可写成1. 0.1在C语言中可以写成.1。 3)实型数据的合法形式:

C语言程序设计题库

一、选择题(每题1分,共20分) 1.C语言程序从main()函数开始执行,所以这个函数要写在(D )。 A.程序文件的开始B.程序文件的最后 C.它所调用的函数的前面D.程序文件的任何位置 2.下列方法中错误的是(D )。 A.主函数可以分为两个部分:主函数说明部分和主函数体。 B.主函数可以调用任何非主函数的其它函数。 C.任何非主函数可以调用其它任何非主函数。 D.程序可以从任何非主函数开始执行。 3.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 4.C语言中的简单数据类型包括(D )。 A.整型、实型、逻辑型B.整型、实型、逻辑型、字符型 C.整型、字符型、逻辑型D.整型、实型、字符型 5.下列可以正确表示字符型常量的是(A )。 A.’\t’B.”a”C.”\n”D.297 6.在C语言中,字符型数据所占的内存空间是(C )。 A.2个字节B.4字节C.1字节D.由用户自定义 7.若int类型数据占2个字节,则unsigned int类型数据的取值范围是(B )。 A.0~255 B.0~65535 C.-32768~32767 D.-256~255 8.若有以下类型说明语句:char a;int b; float c; double d; 则表达式a*b+d-c的结果类型为(D )。 A.float B.char C.int D.double 9.下列正确的预编译命令是(D )。 A.define PI 3.14159 B.#define P(a,b)=strcpy(a,b) C.#define stdio.h D.#define PI 3.14159 10.为表示逻辑表达式7979 )&&( X<90 ) B.( X>79 )!=( X<90 ) C.7979 )||( X<90 )

C语言基础题(含答案)

第一章C语言基础知识 1.1 选择题 1. 以下不是C语言的特点的是()。 A、语言简洁紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件操作 D、C语言移植性好 2.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.no.1 C._123_ D.-_ok 3.正确的C语言标识符是()。 A._buy_2 B.2_buy C.?_buy D.buy? 4. 请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3C.For D.2a define _123 -abc DO WORD IF Case sizeof 5.下列符号中,不属于转义字符的是()。 A.\\ B.\0xAA C.\t D.\0 6.不属于C语言关键字的是()。 A.int B.break C.while D.character 7.是C语言提供的合法关键字的是()。 A.Float B.signed C.integer D.Char

8.以下不能定义为用户标示符的是()。 A.scanf B.V oid C._3com_ D.int 9.一个C程序是由()。 A.一个主程序和若干子程序组成 B.一个或多个函数组成 C.若干过程组成 D.若干子程序组成 10. C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 11.下列说法中,错误的是()。 A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号 B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用 D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数 12.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分13. C编译程序是()。 A.C程序的机器语言版本 B.一组机器语言指令

相关文档
相关文档 最新文档