C语言基础练习题含答案 下载本文

string2=boy└┘└┘*string3=girl*

53.根据题目中已给出的数据的输入和输出形式,程序中输入输出语句的正确内容是( )。

#include ”stdio.h” main() { int a; float b; 输入语句 输出语句 }

输入形式:1└┘2.3<回车> (注:└┘代表空格) 输出形式:a+b=3.300 A.scanf(”%d%f”,&a,&b);

B.scanf(”%d%3.1f”,&a,&b); printf(”\\na+b=%5.3f”,a+b); printf(”\\na+b=%f”,a+b);

C.scanf(”%d,%f”,&a,&b); D.scanf(”%d%f”,&a,&b);

printf(”\\na+b=%5.3f”,a+b) printf(”\\na+b=%f”,a+b);

54.阅读以下程序,当输入数据的形式为:12,34,正确的输出结果为( )。

#include ”stdio.h” main() { int a,b;

scanf(”%d%d”, &a,&b); printf(”a+b=%d\\n”,a+b); }

A.a+b=46 B.有语法错误 C.a+b=12 D.不确定值

55.若有定义:int x,y; char s1,s2,s3; 并有以下输出数据:(注:└┘代表空格)

1└┘2<回车>

U└┘V└┘W<回车>

则能给x赋给整数1,给y赋给整数2,给s1赋给字符U,给s2赋给字符V,给s3赋给字符W的正确程序段是( )。 A.scanf(”x=%dy=%d”,&x,&y); s1=getchar();s2=getchar();s3=getchar();

B.scanf(”%d%d”,&x,&y); s1=getchar();s2=getchar();s3=getchar();

C.scanf(”%d%d%c%c%c”,&x,&y,&s1,&s2,&s3);

D.scanf(”%d%d%c%c%c%c%c%c”,&x,&y,&s1,&s1,&s2,&s2,&s3,&s3); 1.2 填空题

1. C语言的符号集包括_英文字母、数字、一些有特定含义的标点符号

2. 结构化设计中的三种基本结构是_顺序结构、选择结构、循环结构

3. C语言源程序文件的后缀是 .C ,经过编译后生成文件的后缀是OBJ,经过链接后生成文件的后缀是 EXE 。 4. C语言的关键字都用 小写 {大写或小写}。

5. 一个函数由两部分组成,它们是 函数说明部分和函数体 。 6. 函数体一般包括变量定义部分和执行部分。

7. C语言是通过输入输出函数来进行输入和输出的。 8. 以下程序的执行结果 dec:-1,oct:177777,hex:ffff, unsigned:65535

dec:1,oct:1,hex:1,unsigned:1 。

#include ”stdio.h”

main()

{ short i=-1,j=1;

printf(”dec:%d,oct:%o,hex:%x,unsigned:%u\\n”,i,i,i,i); printf(”dec:%d,oct:%o,hex:%x,unsigned:%u\\n”,j,j,j,j); }

9. 以下程序的执行结果是 dec:98,oct:142,hex:62,ASCII:b 。

#include ”stdio.h” main()

{ char s=’b’;

printf(”dec:%d,oct:%o,hex:%x,ASCII:%c\\n”, s,s,s,s); }

10.以下程序的执行结果是

3.141593,3.1416,3.142, └┘└┘└┘└┘└┘3.142

3.141593e+00,3.1416e+00,3.142e+00,└┘└┘3.142e+00。 (注:└┘代表空格)

#include ”stdio.h” main() {

float pi=3.1415927;

printf(”%f,%.4f,%4.3f,.3f”,pi,pi,pi,pi); printf(”\\n%e,%.4e,%4.3e,.3e”,pi,pi,pi,pi); }

11.以下程序的执行结果是: 。

#include ”stdio.h” main()

{ char c=’c’+5; printf(”c=%c\\n”,c); }

12.以下程序输入1└┘2└┘3后的执行结果是i=1,k=└┘,j=2 。(注:└┘代表空格)

#include ”stdio.h”

main() { int i,j; char k;

scanf(”%d%c%d”,&i,&k,&j); printf(”i=%d,k=%c,j=%d\\n”,i,k,j); }

0后的执行结果是 ;若输入为:98└┘76└┘543210后的执行

结果是 ;若输入为:987654└┘3210后的执行结果为: 。(注:└┘代表空格) #include ”stdio.h” main()

{ int x1,x2; char y1,y2;

scanf(”-=<%c”,&x1,&x2,&y1,&y2); printf(”x1=%d,x2=%d,y1=%c,y2=%c\\n”,x,y); }

14.若x和y均为int型变量,则以下语句的功能是 。 x+=y; y=x-y; x-=y; 15.有一输入函数scanf(”%d”,k);则不能使float类型变量k得到正

确数值的原因是: 。

16.有如下程序段,输入数据:12345ffl678后,u的值是 【1】 ,v的值是 【2】 。

int u; float v;

scanf(“=%f”,&u,&v); 1.3 答案及部分解析 一. 1.B

选择题答案

2.B 3.A 4.B 5.B 6.D

7.B 8.D 9.B 10.C 11.A 12.C 13.C 14.B 15.C 16.A 17.A 18.C 19.C 20.A 21.C 22.C 23.A 24.B 25.A 26.D 27.A 28.A 29.D 30.B 31.C 32.C 33.B 34.B 35.C 36.C 37.C 38.D 39.D 40.C 41.D 42.A 43.B 44.D 45.D 46.A 47.B 48.D 49.B 50.A 51.D 52.D 53.A 54.D 55.D

14.解析:C语言规定标识符只能由字母、数字和下划线三种字符

组成,且第一个字符必须为字母或下划线。而且不能与C语言规定的关键字同名。关键字如:auto, break, case, char, const, continue, default, do, double, else, entry, extern, for, float, goto, if, int, int, long, register, return, short, signed, sizeof, static, struct, unsigned, while, switch, typedef, void, volatile, unior。这些关键字先不必硬背下来,随着后续的学习,你将发现它们都是一些数据的类型、语句等,自然会随着学习的深入,而记下来。

15.解析:用指数形式表示一个实型常数时,E或e之前必须有数

字,且E后面指数必须为整数。

16.解析:’\\101’为转义字符,相对应一个ASCII码字符。(101)8=(65)10=A.