【优质】C语言程序设计题目及解答 04

一、判断题 (10分)

1. switch(表达式){},该表达式的值必须是整型或字符型。2分 2. 执行switch语句时,肯定会执行其中的一个分支语句组。2分

3. while和do…while循环不论什么条件下它们的结果都是相同的.2分 4. for(表达式1;表达式2;表达式3){},其中表达式1只执行一次。2分 5. 若int i=0,k=8;while(i=8) i=k--;则while循环体的执行次数为0.2分

二、选择题 (28分) 1.已知 int t=0; while(t=1) {...}

则以下叙述正确的是( )。[B] 2分

A. 循环控制表达式的值为0 B. 循环控制表达式的值为1 C. 循环控制表达式不合法 D. 以上说法都不对 2.以下程序段的输出结果是_____[C] 2分 int x=3; do

{ printf(\while (!(--x));

A. 1 B. 3 0 C. 1 -2 D. 死循环

3.以下程序的输出结果是______。[A] 2分 main()

{ int n=4;

while(n--)printf(\ \}

A. 2 0 B. 3 1 C. 3 2 1 D. 2 1 0

4.设j为int型变量,则下面for循环语句的执行结果是 [B] 2分 for(j=10;j>3;j--) {

if(j%3)j--; --j;--j;

printf(\}

A. 6 3 B. 7 4 C. 6 2 D. 7 3

5.结构化程序由三种基本结构组成,三种基本结构组成的算法______。[C] 2分

A. 可以完成任何复杂的任务 B. 只能完成部分复杂的任务 C. 只能完成符合结构化的任务 D. 只能完成一些简单的任务

6.以下程序的输出结果是______。[A] 2分 main() {int a=0,i;

for(i=1;i<5;i++) { switch(i) {case0:

case3:a+=2; case1:

case2:a+=3; default:a+=5; } }

printf(\}

A. 31 B. 13 C. 10 D. 20 7.以下的for循环:

for(x=0,y=0;(y!=123)&&(x<4);x++); [C] 2分 A. 是无限循环 B. 循环次数不定 C. 执行4次 D. 执行3次 8.有如下程序 main() {

int n = 9; while(n>6) { n--;

printf(\ } }

该程序的输出结果是______。[B] 2分 A. 987 B. 876 C. 8765 D. 9876 9.有以下程序段 int n=0,p;

do {scanf(\ while(p!=12345&&n<3); 此处do-while循环的结束条件是______。 [D] 2分 A. p的值不等于12345并且n的值小于3 B. p的值等于12345并且n的值大于等于3 C. p的值不等于12345或者n的值小于3 D. p的值等于12345或者n的值大于等于3 10.有如下程序 main()

{ int x=1,a=0,b=0; switch(x){

case 0: b++; case 1: a++; case 2: a++;b++; }

printf(\}

该程序的输出结果是______。[A] 2分

A. a=2,b=1 B. a=1,b=1 C. a=1,b=0 D. a=2,b=2

11.C语言中用于结构化程序设计的三种基本结构是______。[A] 2分

A. 顺序结构、选择结构、循环结构 B. if、switch、break C. for、while、do-while D. if、for、continue

12.有以下程序 main() { int i;

for(i=0;i<3;i++) switch(i)

{ case 1: printf(\ case 2: printf(\ default: printf(\ } }

执行后输出的结果是______。[A] 2分 A. 011122 B. 012 C. 012020 D. 120 13.有以下程序段 int k=0;

while(k=1)k++;

while循环执行的次数是______。[A] 2分

A. 无限次 B. 有语法错,不能执行 C. 一次也不执行 D. 执行1次 14.有以下程序 main()

{ int s=0,a=1,n; scanf(\ do

{s+=1; a=a-2;} while(a!=n); printf(\}

若要使程序的输出值为2,则应该从键盘给n输入的值是______。[B] 2分 A. -1 B. -3 C. -5 D. 0 三、程序填空题 (22分)

1功能:输入一个学生的生日(年:y0、月:m0、日:d0),并输入当前日期(年:y1、月:m1、日:d1)。求出该学生的年龄(实足年龄)。 #include int main() {

int age,y0,y1,m0,m1,d0,d1;

printf(\输入生日日期(年,月,日)\\n\ __(1)__(\ printf(\输入当前日期(年,月,日)\\n\ scanf(\ age=y1-y0;

if(m0 __(2)__ m1)age--;

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4