第2章C语言基础_第1页
第2章C语言基础_第2页
第2章C语言基础_第3页
第2章C语言基础_第4页
第2章C语言基础_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二章 C语言基础与程序结构一、选择题。(注:所有题目中的空格用表示,回车用表示)1、C语言属于( D )A) 机器语言 B) 低级语言 C) 中级语言 D) 高级语言2、C语言程序能在不同的操作系统下运行,这说明C语言具有很好的( B )A) 适应性 B) 移植性 C) 兼容性 D) 操作性3、一个C语言程序的执行总是起始于( C )A) 程序的第一个函数 B) 包含文件中的第一个函数 C) main函数 D) 程序中的第一条语句4、C语言源程序经过编译后生成的文件名的后缀为( B )A) .doc B) .obj C) .exe D) .cpp5、C语言源程序经过链接后生成的文件名的后缀为

2、( C )A) .doc B) .obj C) .exe D) .cpp6、C语言编译程序的首要工作是( A )A) 检查语法错误 B) 检查逻辑错误 C) 检查程序的完整性 D) 生成exe 文件7、下面选项中2个标识符都是不合法的选项是( C )A) W p_1 B) _abc sum C) a-1 int D) x1 DO8、下列哪组标识符是正确的( B )A) a3, 7d B) _x1, temp C) for, max D) f (x), b29、下列不是C语言关键字的选项是( B )。A) if B) printf C) case D) while10、下列四组选项中,均不是C语

3、言关键字的选项是( A )。A) Void IF mian B) getc char printfC) includecasescanf D) whilegopow11、C语言中基本的数据类型不包括( D )。 A) 整型 B)实型 C)字符型D) 数组12、C语言中基本的数据类型包括( B )。 A) 整型、实型、指针、枚举型 B) 整型、实型、字符型、枚举型C) 整型、字符型、数组、枚举型 D) 整型、实型、空类型、字符型13、自增、自减运算符能用于( C )A) 整型常量 B) 表达式 C) 整型变量 D) 浮点型常量14、下面选项中2个整型常量都是合法的选项是( A )A) 25 0x

4、ff B) 03a 2e5 C) 0x36 12,456 D) 068 -0xcd 15、下面选项中2个浮点数都是合法的选项是( B )A) 0.5 e3 B) 16. 1e-6 C) .25 2e1.5 D) 0.0 1516、如果要把常量327存入变量a中,a不能定义成哪些类型?( B )A) int B) char C) long D) float17、下面正确的字符常量是( D )。A) “c” B) C) D) K18、C语言的赋值表达式中,赋值号的左侧必须是( B )。 A) 常量 B) 变量 C) 表达式 D) 函数19、在C语言中,要求运算数必须是整型的运算符是( D )A)

5、/ B) C) & D) %20、下列表达式中,结果为0的是( C )A) 5%6 B) 5*-1 C) 5/10 D) 5+-2/321、已知int a=6;则执行a+=2; 语句后,a的值为( B )A) 6 B) 8 C) 12 D) 3622、设有说明语句:char c=72; 则变量c( A )A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明不合法23、以下叙述正确的是( C )。A) 在C程序中,每行只能写一条语句。B) 若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数。C) 在C程序中,%是只能用于整数运算的运算符。D) 在C程序中,无

6、论是整数还是实数,都能被准确无误地表示。24、以下叙述不正确的是( C )A) 空字符串(即两个双引号连写)只占一个存储单元B) 字符型常量可以放在字符型变量中C) 字符串常量可以放在字符串变量中D) 字符型常量可以与整数混合运算,而字符串常量不可以25、若有定义int a12,则表达式a+a-a*a的值是( A )A) 0 B) -264 C) -144 D)13226、若变量a是int型,执行语句a=A+1.6; 则以下描述正确的是( D )A) a的值是字符C B) a的值是A的ASCII值加1.6,结果是66.6 C) 不允许字符型和浮点型相加 D) a的值是A的ASCII值加1.6,

7、再取整,结果是6627、若有定义:int y7,x12,则能使值为3的表达式是( D )A) x(y5) B) x(y - y5)C) x= y-y5 D) (x= y) - (y5)28、若有定义:int c1=2,c2=2; 则表达式1.0/c2*c1的值是( C )A) 0 B) 0.5 C) 1.0 D) 0.25 29、若定义:double x=1, y; 执行 y=x+3/2;则y的值是( C )A) 1 B) 2 C) 2.0 D) 2.530、若有定义int a12,n5,则表达式a(n2)运算后,a的值( C )A)0 B)1 C)12 D)631、若有定义:char a;

8、int b; float c; double d;,则表达式a*b+d-c值的类型为( B )A) float B) double C) char D) int32、设有变量定义:int a=5;则以下程序段的输出结果是( D )a=(2*3,a*4,a+5); printf(“%dn”,a);A) 6 B) 24 C) 11 D) 1033、设有定义:int a=7; float x=2.5,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是( B )A) 0.0 B) 2.5 C) 2.75 D) 3.534、已知x=y=3,y=x+ -1,则printf(“%d %d”

9、, x , y);的输出结果是( B )A) 5 4 B) 4 2 C) 3 2 D) 4 435、关于C语言的主函数描述正确的是 ( B )A) C程序可以有多个main函数 B) C程序有且只有一个main函数C) C程序可以没有main函数 D) C程序不一定从main函数开始执行36、在C语言中,使用输入、输出函数要求引入的头文件是(A )。A) stdio.h B) string.h C) math.h D) stdlib.h37、下面程序段的输出结果是( C )short i=32769; printf(“%d”, i);A) 32767 B) 32769 C) -32767 D)

10、 输出随机数38、设有以下程序段,若输入数据形式为5, 8 (回车),则输出结果是( D )int x, y;scanf(“x=%d y=%d”, &x, &y);printf(“%dn”, x+y);A) 5 B) 8 C) 13 D) 随机数39、若有说明:int a; 则正确的输出语句为( B)。A) printf(%d, &a); B) printf(%d, a);C) scanf(%f, &a); D) scanf(%d, &a);40、以下程序段的输出结果是( C )int x=3, y=3, z=3;printf(%d,%dn,(+x, y+), z+2);A) 4,3 B) 3

11、,4 C) 3,5 D) 4,541、以下程序段,其输出结果为(B )。int a=5; printf(%d, +a); A) 5 B) 6 C) 4 D) 742、以下程序段的输出结果是( A )int x=5,y=10; printf(“%d, %dn”, x+, -y);A) 5, 9 B) 6, 9 C) 5, 10 D) 6, 1043、若有说明:double a; 则正确的输入语句为(C )。A) scanf(%lf, a); B) scanf(%d, &a); C) scanf(%lf, &a); D) scnaf(%d, a);44、以下程序段的输出结果为( C )。float

12、 a=3.1415; printf(%6.0f, a); A) 3.1415 B) 3.0 C) 3 D) 3. 45、语句printf(“abrehiyboun”); 的输出结果是( C )A) abrehiybou B) abrehiybou C) rehiyou D) abrehiybou46、以下程序段的输出结果是( B )int a=3366;printf(a=%-08d, a=%08d, a=%3d n, a, a, a);A) a=, a=, a=3366 B) a=3366, a=, a=3366 C) a=-, a=, a=336 D) a=3366, a=3366, a=3

13、3647、以下程序段的输出结果是( C )float a=3.;printf(a=%f, a=%4.1f, a=%2.3f, a=% .0f n, a, a, a, a);A) a=3., a=3.14, 出错, a=3 B) a=3., a=3.1, 出错, a=3.0 C) a=3., a=3.1, a=3.142, a=3 D) a=3., a=3.14, a=3.141 a=3.048、执行scanf(“%d%d”, &x, &y); 从键盘输入数据时,不能作为两个整数的分隔符是( D )A) 空格 B) Tab键 C) 回车 D) 逗号49、若有以下定义和语句,则输出结果是( B )

14、int a010,b0x10,c10;printf(“%d,%d,%dn”,a,b,c);A) 10,10,10 B) 8,16,10 C) 8,l0,10 D) 8,8,1050、执行scanf(“a=%d, b=%f”, &a, &b); 欲将18和2.5分别赋给a和b,正确的输入是( A ) A) a=18, b=2.5 B) a=18b=2.5 C) 18, 2.5 D) 182.551、若有int a, b; 设用户输入为,结果a的值是111,b的值是33,则以下正确的输入语句是( C )A) scanf(“%3d%2d”, &a, &b); B) scanf(“%3d%*3d%d”

15、, &a, &b); C) scanf(“%3d%*3d%2d”, &a, &b); D) scanf(“%3d%2d%*3d”, &a, &b);52、设x, y, z是整型变量,键盘输入数据格式为25,13,10,以下程序段的输出结果是( D )scanf(“%d%d%d”, &x, &y, &z);printf(“x+y+z=%dn”, x+y+z);A) x+y+z=25 B) x+y+z=38 C) x+y+z=48 D) 无法确定53、若要求变量a1, a2, c1, c2的值分别是10、20、A、B,则正确的输入格式是( C )int a1, a2; char c1, c2;sc

16、anf(%d%c%d%c”, &a1, &c1, &a2, &c2);A) 10A20B B) 10A20B C) 10A20B D) 10A20B54、已有定义char ch1,ch2,ch3; 执行scanf(“%1c%2c%3c”, &ch1, &ch2, &ch3); 设键盘输入为 ABCDEF,则ch1, ch2, ch3的值分别是( D )A) A , B, D B) A , B, C C) A , , B D) A , , C55、已有定义int x; float y; 执行scanf(“%3d%f”, &x, &y); 设键盘输入为 12345678,则x, y的值分别是( A

17、 )A) 123, 45.0 B) 123, 678.0 C) 12345, 678.0 D) 123, 45.678 56、以下描述错误的是( D )A) 文件包含是编译预处理命令 B) 文件包含不占用程序的运行时间C) 文件包含命令以#开头 D) 文件包含命令可以写在main函数中57、在下列有关宏替换的叙述中,正确的说法是( D )A) 宏替换占用运行时间 B) 宏名有类型C) 带参数的宏替换和函数等价 D) 宏替换只是字符替换58、用宏定义来计算表达式4*x+3,下列宏定义正确的是( B ) A) #define F (x) 4*x+3 B) #define F(x) 4*(x)+3

18、C) #define F (4*x+3) D) #define F(x) 4*x+359、以下描述正确的是( C )A) 在程序的一行中可以出现多个有效的预处理命令行 B) 使用带参数的宏时,实参的类型应与宏定义时的一致 C) 宏替换不占用运行时间,只占用编译时间 D) 在宏定义中,宏名可以由任意的字符组成 60、设有宏定义:#define PI 3.14159 ,其含义是用宏名PI代替一个( A )A) 常数3.14159 B) float型数据3.14159 C) double型数据3.14159 D) 字符串3.14159 61、以下程序的运行结果是( C )#define D(r) r

19、*rvoid main( ) int m=2,n=4,s;s=D(m+n); printf(“%dn”,s);A) 36 B) 12 C) 14 D) 1662、若有以下宏定义,则执行语句zN+Y(5);后z的值是( C )#define N 2#define Y(n) (n+1)*n)A) 40 B)30 C)32 D)z无定值63、以下程序的运行结果是( B )#define MIN(x,y) (x)(y)?(x):(y)void main() int i=10, j=15, k; k=10*MIN(i, j); printf(%dn, k);A) 10 B) 15 C) 100 D) 1

20、5064、以下程序的运行结果是( C )#define ADD(x) x+xvoid main( ) int m=1, n=2, k=3; int sum=ADD(m+n)*k; printf(sum=%dn, sum);A) 18 B) 12 C) 10 D) 965、以下程序的运行结果是( D )#define X 5#define Y X+1#define Z Y*x/2void main( ) int a=Y; printf(%d, %dn, Z, -a);A) 12, 6 B) 12, 5 C) 7, 6 D) 7, 566、以下关于文件包含的描述错误的是( D )A) 文件包含命令

21、必须以#开头 B) 一个include命令只能指定一个被包含的文件C) 文件包含可以嵌套 D) 文件名用“”括起来和用括起来是等价的二、填空题1、计算机程序设计语言的发展,经历了从 机器语言 、汇编语言到 高级语言 的历程。2、计算机能唯一识别的语言是 机器语言 。 3、C语言源程序文件的扩展名为 .cpp或 .c ;经过编译后生成目标程序文件扩展名为是 .obj ;连接后生成可执行程序文件,运行即可得到结果。4、C语言源程序要经过预编译处理、 编译 、汇编和 连接 等过程后才能执行。5、C语言程序是由 多个函数 构成的。6、每个C语言程序中有且仅有一个 main 函数,它是程序的入口和出口。

22、7、一个C语言程序总是从 主函数(main函数) 开始执行的。8、一个算法应具有5个特点:有穷性、 确定性 、有效性、零个或多个输入、 一个或多个输出 。9、C语言中的基本数据类型主要有 整型 、 实型 、 字符型 。10、C语言标识符的命名规则是,以字母或 下划线 开头, 字母 、 下划线 、 数字 组成的序列。11、C语言中的常量分为 直接 常量和 符号 常量两种。12、算法的表示方法有自然语言描述、 流程图 、 N-S图 、伪代码等。13、C语言中定义符号常量时需要使用的#命令是 #define 。14、若a是int型变量,则计算表达式a=1+1/3后,a的值为 1 。15. 语句pri

23、ntf(%cn, 2%5+64); 的执行结果为 B 。16、设所有变量均为整型,则表达式(a=2, b=5, b+, a+b)的值是 8 。17、若说明:int i; double f; 则表达式10+a+i*f的值是 double 类型。18、若a是int型变量,则计算表达式a=25/3%3后,a的值为 2 。19、逗号表达式x=3, y=5, x/y , 的值是 0 。20、语句printf(%c, %dn,D-A+64);的执行结果为 C, 67 。21、若定义int a=25; 则执行语句printf(%d, a-); 后,输出的结果为 25 。22、自增和自减运算符只能用于变量,而

24、不能用于 常量 或 表达式 。23、若a为整型变量,则表达式 (a=4*5,a*2), a+6 的值为 26 。24、有逗号表达式 x =a=3, 6*a,运算后x的值为 3 ,逗号表达式的值为 18 。25、有宏定义:#define M( r ) r * r ,若有语句 a=M(n+1),进行宏替换后a = n+1*n+1 。三、阅读程序题1、写出程序运行结果。#include void main ( ) char c1, c2, c3; c1=A; c2=B; c3=C; printf(“ %c, %c, %cn ”, c1, c2, c3); printf(“ %c, %c, %cn”,

25、 c1+1, c2+1, c3+1); printf(“ %d, %d, %dn”, c1, c2, c3);运行结果为:A, B, CB, C, D65, 66, 672、写出程序运行结果。#include void main ( )int x , y , z ;x = -3+4*56 ; printf ( “ % d n ”, x ) ;x = -3* 4%-6/5 ; printf ( “ % d n ”, x ) ;y = x + - 1 ; printf ( “ % d t % d t ” , x , y ) ;运行结果为:1101 -13、写出程序运行结果。#include voi

26、d main ( ) int a, b, c, d; a=10; b=20; c=a+; d=b-1; printf( “%d , %d n%d , %d n ”, a,b,c,d);运行结果:11,2010,194、写出程序运行结果。#include void main ( ) int a, b, c, d; a=(c=100, d=200, c+d); b=(c=d=0, c+50); printf(“ %d, %d, %d, %dn ” , a, b, c, d);运行结果为:300, 50, 0, 05、写出下列程序的运行结果#includevoid main( ) int i, j, m, n ; i = 5; j = 10; m = +i; n = j-; printf(%d,%d,%d,%d, i, j, m, n);运行结果为:6,9,6,107、写出下面程序的输出结果。#includevoid main( ) int i,k; i=5; k=(i+)+(i+); printf(i=%d, k=%dn, i, k); i=5; k=(+i)+(+i); printf(i=%d, k=%dn, i, k); i=5; k=(+i)+(i+); printf(i=%d, k=%dn, i, k);输出结果:i=7, k=10i=7, k=14i=7, k=128、若键

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论