C语言——顺序结构程序设计练习题 下载本文

内容发布更新时间 : 2024/5/3 17:54:30星期一 下面是文章的全部内容请认真阅读。

顺序结构程序设计习题

一、选择题:(以下各题□代表空格。)

1. 以下程序运行的结果是: #include int main() {int m=5,n=10;

printf(“%d,%d\\n”,m++,--n); }

A)5,9 B)6,9 C)5,10 D)6,10

2. 以下程序运行的结果是: #include int main()

{int a=201,b=012;

printf(“-,-\\n”,a,b); return 0 }

A)01,12 B)201,10 C)01,10 D)20,01

3. 有定义语句int a,b;若要通过语句scanf(“%d,%d,”&a,&b);使变量a得到数值6,变

量b得到数值5,下面输入形式,错误的是: A)6,5<回车> B)6,□□<回车> C)6 5<回车> D)6,<回车>5<回车>

4. 设有如下程序: #include int main()

{char ch1=’A’,ch2=’a’; printf”%c\\n”,(ch1,ch2)); return 0; }

则以下叙述正确的是:

A) 程序的输出结果为大写字母A; B) 程序的输出结果为小写字母a; C) 运行时产生错误信息;

D) 格式说明符的个数少于输出项个数,编译出错。

5. 以下程序运行的结果是: #include int main()

{int x1=0xabc,x2=oxdef;

x2-=x1;

printf(“%X\\n”,x2); return 0; }

A)ABC B)0XABC C)0X333 D)333

6. 以下程序输出的结果是: #include int main()

{ printf(“\\n*s1=s*”,”chinabeijing”); printf(“\\n*s2=%-5s*”,”chi”); }

A)*s1=chinabeijing□□□* S2=**chi*

B)*s1=chinabeijing□□□* *s2=chi□□*

C)*s1=*□□chinabeijing* *s2=□□chi*

D)*s1=□□□chinabeijing* *s2=chi□□*

7. 已有定义int a=-2;和输出语句:printf(“%8lx”,a);以下正确的描述是: A) 整形变量的输出格式符只有%d一种;

B) %x是格式符的一种,它可以适应与任何一种类型的数据;

C) %x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的 D) %8lx不是错误的格式符,其中数字8规定了输出字段的宽度。

8. 以下C程序的运行结果是: #include int main()

{long y=-43456;

printf(y=%-8ld\\n”,y); printf(y=%-08ld\\n”,y); printf(y=ld\\n”,y); printf(y=%+8ld\\n”,y); return 0; } A y=□□-43456 y=-□□43456 y=-0043456 y=-43456 y=-43456 y=-43456 y=-0043456 B y=-43456 y=-43456 y=-0043456 y=+□-43456 D y=□□-43456 y=-0043456 y=00043456 C y=□□-43456 9. 以下程序运行的结果是: #include int main() {int y=2456;

printf(“y=%3o\\n”,y); printf(“y=%8o\\n”,y); printf(“y=%#8o\\n”,y); return 0; } A y=□□□2456 y=□□□□□□□□2456 y=########2456 y=2456 y=□□□□2456 y=□□□02456 y=+43456 B y=□□□4630 y=□□□□□□□□4630 y=########4630 D y=4630 y=□□□□4630 y=□□□04630 C

10. 以下程序运行的结果是: #include int main()

{ long y=23456;

printf(“y=%3x\\n”,y); printf(“y=%8x\\n”,y); printf(“y=%#8x\\n”,y); return 0; } A Y=5ba0 Y=□□□□5ba0 Y=□□0x5ba0 Y=5ba0 Y=5ba0 Y=0x5ba0 B Y=□□□5ba0 Y=□□□□□□5ba0 Y=□□0x5ba0 D Y=5ba0 Y=□□□□5ba0 Y=####5ba0 C

11. 若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是: A) scanf(“%d%lx,%d”,&x,&y,&z); B) scanf(“-*%d%lf”,&x,&y,&z); C) scanf(“%x%*d%o”,&x,&y);

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

12. 如有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10、20、A、B,当从第一

列开始输入数据时,正确的数据输入方式为: int a1,a2;char c1,c2;

scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);