简单的C语言选择与循环结构10个编程练习题.
- 格式:docx
- 大小:15.36 KB
- 文档页数:2
C语言循环结构前的练习一、选择题:(2’*25=50)1、以下程序的输出结果为( C )# include “stdio.h”main(){ int i=4,a;a=i++;printf(“a=%d,i=%d”,a,i);}A)a=4,i=4 B)a=5,i=4 C)a=4,i=5 D)a=5,i=52、以下叙述中正确的是( C )。
A)C语言程序总是从第一个定义的函数开始执行。
B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行。
D)C语言程序中的main()函数必须放在程序的开始部分。
3、下列选项中不正确的实型常量是( B )A)7.375E-1 B)0.3108e 2 C)-44.44 D)123e-24、在C程序中,可以作为用户标识符的一组标识符是( B )A)void define B)as_b3 _224 ElseC)Switch -wer case D)4b DO SIG5、 int类型变量所占字节数是( D )A)1 B)2 C)3 D)46、以下选项中合法的用户标识符是( B )。
A)long B) _2test C)3dmax D) a.dat7、以下有4组用户标识符,其中合法的一组是( C )。
A) for –sub case B) 4d do sizeC) f2_g3 If abc D) WORD void define8、经char w; int x; float y; double z;说明后表达式 w*x+z-y的类型是( D )。
A) float B) char C) int D) double9、下述程序的输出结果是( C )main(){ int a=-1,b=4,k;k=(a++<=0)&&(!(b--<=0));printf(“%d,%d,%d”,k,a,b);}A)0,0,3 B)0,1,2 C)1,0,3 D)1,1,2 10、定义int n=5;下面语句的输出结果为( B )。
循环习题集锦一.选择题1.for(i=0;i<10;i++);结束后,i的值是;(10)A 9B 10C 11D 122.下面程序的循环次数是:(D)int k=0;while(k<10){if(k<1) continue;if(k==5) break;k++;}A. 5 B 6 C 4 D 死循环,不能确定循环次数3.下面程序的输出结果是(10)main(){int s,k;for(s=1,k=2;k<5;k++)s+=k;printf(“%d\n”,s);}A 1B 9C 10D 154.要使下面程序输出10个整数,则在下画线处填入正确的数是:(c)for(i=0;i<= ;)printf(“%d\n”,i+=2);A 9B 10C 18D 205.运行下面程序:(B)main(){ int i=10,j=0;do{ j=j+i;i--;}while(i>5);printf(“%d\n”,j);}输出结果是:A 45B 40C 34D 55 6.运行下面程序#include “stdio.h”main(){ int k=0,a=1;while(k<10){for( ; ;){ if((k%10)==0)break;elsek--;}k+=11;a+=k;}printf(“%d %d\n”,k,a);}则输出的结果是(C)A 21 32B 21 33C 11 12D 10 117.以下叙述正确的是:(D)A.do---while语句构成的循环不能用其他语句构成的循环来代替。
B.do---while语句构成的循环只能用break语句退出。
C.用do---while语句构成的循环,在while 后的表达式为非零时结束循环。
D.用do---while语句构成的循环,在while后的表达式为零时结束循环。
8.有如下程序:main(){ int x=3;do{printf(“%d”,x--);}while(!x);}该程序的执行结果是:(C)A 3 2 1B 2 1 0C 3D 29.若k为整型变量,则下面while循环执行的次数为:(A)k=10;while(k==0) k=k-1;A 0B 1C 10 D无限次10.下面有关for循环的正确描述是(D)A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体。
C语言初学者练习题目10条1. 关于C语言初学者练习题目10条在学习编程语言的过程中,练习题目是一个重要的环节,可以帮助初学者巩固基本知识和提升解决问题的能力。
本文将介绍10个适合C语言初学者的练习题目,并分析每个题目的解题思路。
题目一:输出Hello, World!这是C语言中最基础的练习题目,通过编写一个简单的程序来输出"Hello, World!",帮助初学者熟悉C语言的基本语法和编译运行过程。
题目二:计算两个整数之和编写一个程序,接收用户输入的两个整数,并输出它们的和。
这个练习可以让初学者熟悉C语言的基本输入输出操作和基本的数学运算。
题目三:判断一个数是否为素数编写一个程序,接收用户输入的一个整数,并判断该数是否为素数。
这个练习可以让初学者熟悉使用循环和条件语句进行判断,并学习如何优化算法以提高判断效率。
题目四:计算数组元素的平均值编写一个程序,接收用户输入的一个整型数组,并计算出数组元素的平均值。
这个练习可以让初学者熟悉数组的基本使用和循环的结合运用。
题目五:查找数组中的最大值和最小值编写一个程序,接收用户输入的一个整型数组,并找出数组中的最大值和最小值。
这个练习可以让初学者学习如何定义和使用函数,并加深对数组的理解。
题目六:实现简单的字符串翻转编写一个程序,接收用户输入的一个字符串,并将其翻转输出。
这个练习可以让初学者学习如何处理字符串类型的数据,并锻炼对数组和循环的综合运用能力。
题目七:实现简单的冒泡排序编写一个程序,接收用户输入的一个整型数组,并使用冒泡排序算法对数组进行排序。
这个练习可以让初学者深入理解冒泡排序算法的原理,并学习如何进行数组的元素交换。
题目八:实现简单的查找算法编写一个程序,接收用户输入的一个整型数组和一个目标值,在数组中查找目标值并输出其下标。
这个练习可以让初学者学习不同查找算法的实现原理,并熟悉如何使用循环进行遍历操作。
题目九:实现简单的递归算法编写一个程序,使用递归算法计算斐波那契数列的第n项值,并将其输出。
1.猜数字小游戏:每次程序随机生成一个数字,用户输入数字进行猜测,十回合内猜出数据则胜利,否则失败,可重复游戏。
代码如下:#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){int magic;int guess;int count;int ret;char reply;srand(time(NULL));do{magic = rand()%100+1; //产生1到100之间的随机数//count = 0;do{do{printf("Please guess a magic number:");ret = scanf("%d",&guess);if(ret!=1){while(getchar()!='\n');}}while(ret!=1||guess<1||guess>100); //如果输入不是1到100之间的数字则连续读取//count = count+1;if(guess>magic)printf("Wrong!Too big!\n");else if (guess<magic)printf("Wrong!Too small!\n");else{printf("Right!\n");printf("The number is :%d\n",magic);}}while(guess!=magic&&count<10);if (magic==guess)printf("count = %d\n",count);if (magic!=guess)printf("You lose!");printf("Do you want to continue(Y/N or y/n)?\n");scanf(" %c",&reply);}while((reply=='y')||(reply=='Y'));return 0;}2.任意时间时钟时针与分针的夹角:钟面上的时针和分针之间的夹角总是在 0 度~ 359 度之间。
循环习题集锦一.选择题1. for(i=0;i<10;i++); 结束后,i 的值是;(10)A 9B 10C 11D 122. 下面程序的循环次数是:(D)int k=0;while(k<10){if(k<1) continue;if(k==5) break;k++;}A. 5 B 6 C 4 D 死循环,不能确定循环次数3. 下面程序的输出结果是(10)mai n(){int s,k;for(s=1,k=2;k<5;k++)s+=k;printf( “ %d\n” ,s);}A 1B 9C 10D 154. 要使下面程序输出10个整数,则在下画线处填入正确的数是:(c) for(i=0;i<= ;) ___printf( “ %d\n” ,i+=2);A 9B 10C 18D 205. 运行下面程序:(B)mai n(){ int i=10,j=0;do{ j=j+i;i--;}while(i>5);printf( “ %d\n” ,j);}输出结果是:A 45B 40C 34D 556. 运行下面程序#include “ stdio.h ”main() { int k=0,a=1;while(k<10){for( ; ;){ if((k%10)==0) break;else k--;}k+=11;a+=k;}printf( “%d %d\n”,k,a);}则输出的结果是( C)A 21 32B 21 33C 11 12D 10 11 7.以下叙述正确的是:( D)A.do---while 语句构成的循环不能用其他语句构成的循环来代替。
B.do---while 语句构成的循环只能用break 语句退出。
C. 用do---while 语句构成的循环,在while后的表达式为非零时结束循环。
D. 用do---while 语句构成的循环,在while后的表达式为零时结束循环。
第 5 章循环结构程序设计练习题1.单项选择题( 1)语句 while (!e);中的条件!e等价于A。
A. e==0B. e!=1C. e!=0D. ~e( 2)下面有关for循环的正确描述是D。
A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判定表达式C. 在 for循环中,不能用break 语句跳出循环体D. for循环体语句中,可以包含多条语句,但要用花括号括起来(3)C语言中D。
A.不能使用do-while语句构成的循环B. do-while 语句构成的循环必须用break 语句才能退出C. do-while 语句构成的循环,当while 语句中的表达式值为非零时结束循环D. do-while 语句构成的循环,当while 语句中的表达式值为零时结束循环( 4) C 语言中 while 和 do-while 循环的主要区别是A 。
A. do-while的循环体至少无条件执行一次B. while的循环控制条件比do-while的循环控制条件严格C. do-while允许从外部转到循环体内D. do-while的循环体不能是复合语句( 5)以下程序段C。
int x=-1;do{x=x*x;}while (!x);A.是死循环B. 循环执行二次C. 循环执行一次D. 有语法错误( 6)下列语句段中不是死循环的是__C__。
A.i=100;while (1){i=i%100+1;if (i==20) break;}B.for (i=1;;i++)sum=sum+1;C.k=0;do{++k;} while (k<=0);D.s=3379;while (s++%2+3%2)s++;( 7)与以下程序段等价的是__A__。
while (a){if (b) continue;c;}A.while (a)B.while (c){ if (!b) c; }{ if (!b) break; c; }C. while (c)D. while (a){ if (b) c; }{ if (b) break; c; }( 8)以下程序的输出结果是_B___。
选择结构必背经典程序(参考答案)1、输入3个整数,排序后输出。
#include <stdio.h>void main(){int x,y,z,t;scanf("%d%d%d",&x,&y,&z);if (x>y){t=x;x=y;y=t;} /*交换x,y的值*/if(x>z){t=z;z=x;x=t;} /*交换x,z的值*/if(y>z){t=y;y=z;z=t;} /*交换z,y的值*/printf("small to big: %d %d %d\n",x,y,z);}2、求解一元二次方程ax2+bx+c=0。
#include <stdio.h>#include <math.h>void main(){double a,b,c,deta,x1,x2;printf("Enter a,b,c:");scanf("%lf%lf%lf",&a,&b,&c);if(fabs(a)>1e-6){deta=b*b-4*a*c;if(deta>0){x1=-b/(2*a)+sqrt(deta)/(2*a);x2=-b/(2*a)-sqrt(deta)/(2*a);;printf("有两个不同的实根:x1=%.2f ,x2=%.2f\n",x1,x2);}else if(deta==0){x1=x2=-b/(2*a);printf("有两个相同的根:x1=x2=%.2f\n",x1);}else{x1=-b/(2*a);x2=sqrt(-deta)/(2*a);printf("有两个虚根:x1=%.2f + %.2f*i,x2=%.2f - %.2f*i\n",x1,x2,x1,x2);}}elseprintf("二次项系数为0,不是一元二次方程!");}3、已知银行整存整取存款不同期限的月息利率分别为:0.315% 期限一年0.330% 期限二年0.345% 期限三年0.375% 期限五年0.420% 期限八年要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。
循环习题集锦一. 选择题1. for(i=0;i<10;i++);结束后,i 的值是;(10)A 9B 10C 11D 122.下面程序的循环次数是:(D)int k=0;while(k<10){if(k<1) continue;if(k==5) break;k++;)A. 5 B 6 C 4 D死循环,不能确定循环次数3.下面程序的输出结果是(10)main(){int s,k;for(s=1,k=2;k<5;k++)s+=k;printf("%d\n”,s))A 1B 9C 10D 154.要使下面程序输出10个整数则在下画线处填入正确的数是(c)for(i=0;i<=;)printf("%d\n”,i+=2);A 9B 10C 18D 205.运行下面程序:(B)main(){ int i=10,j=0;do{ j=j+i;i--;}while(i>5);printf("%d\n”,j);}输出结果是:A 45B 40C 34D 556.运行下面程序#include “stdio.h”main(){ int k=0,a=1;while(k<10){for( ; ;){ if((k%10)==0)break;elsek--;)k+=11;a+=k;)printf("%d %d\n”,k,a);)则输出的结果是(C)A 21 32B 21 33C 11 12D 10 117.以下叙述正确的是:(D)A.do---while语句构成的循环不能用其他语句构成的循环来代替。
B.do---while语句构成的循环只能用break语句退出。
C.用do---while语句构成的循环,在while后的表达式为非零时结束循环。
D.用do---while语句构成的循环,在while后的表达式为零时结束循环。
8.有如下程序:main(){ int x=3;do{printf("%d”,x--);}while(!x);)该程序的执行结果是:(C)A 3 2 1B 2 1 0C 3D 29.若k为整型变量,则下面while循环执行的次数为:(A)k=10;while(k==0) k=k-1;A 0B 1C 10 D无限次10.下面有关for循环的正确描述是(D)A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体。
C语言中的选择与循环:理解与应用一、引言C语言是一种通用、过程式的计算机程序设计语言,支持结构化编程、词汇变量作用域和递归等功能,其简洁、高效和可移植性使得它在各种环境下都得到了广泛应用。
在C语言编程中,选择结构和循环结构是两种最基本的控制结构,它们是构建程序的关键。
本文将通过详细的例题来解释这两种结构。
二、选择结构2.1 if语句if语句是最常见的选择结构,它根据条件的真假来决定执行哪个代码块。
例如,下面的代码就是一个简单的if语句的例子:```cint a = 10;if (a > 5) {printf("a大于5\n");}```这段代码会检查变量a是否大于5,如果是的话,就打印出"a大于5"。
2.2 switch语句switch语句是多路选择结构,它根据表达式的值来执行对应的代码块。
例如:```cint b = 2;switch (b) {case 1:printf("b等于1\n");break;case 2:printf("b等于2\n");break;default:printf("b不等于1也不等于2\n");}```这段代码会检查变量b的值,如果b等于1,就打印出"b等于1",如果b等于2,就打印出"b等于2",否则就打印出"b不等于1也不等于2"。
三、循环结构3.1 for循环for循环是一种常见的循环结构,它由初始化、条件和迭代三部分组成。
例如,下面的代码就是一个简单的for循环的例子:```cfor (int i = 0; i < 5; i++) {printf("%d\n", i);}```这段代码会打印出从0到4的整数。
3.2 while循环和do-while循环while循环和do-while循环是根据条件来执行循环的。
C语言循环结构练习题带标准答案第5章循环结构程序设计5.1基本知识点while语句的使用格式和注意事项do-while语句的使用格式和注意事项for语句的使用格式和注意事项break和continue语句在循环语句中的应用循环结构的嵌套使用goto语句实现循环结构穷举法程序设计方法迭代程序设计方法5.2练习题51.单项选择题(1)语句while (!e)。
中的条件!e等价于A。
A. e==0B. e!=1C. e!=0D. ~e(2)下面有关for循环的正确描述是D。
A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判定表达式C. 在for循环中,不能用break语句跳出循环体D. for循环体语句中,可以包含多条语句,但要用花括号括起来(3)C语言中D。
A. 不能使用do-while语句构成的循环B. do-while语句构成的循环必须用break语句才能退出C. do-while语句构成的循环,当while语句中的表达式值为非零时结束循环D. do-while语句构成的循环,当while语句中的表达式值为零时结束循环(4)C语言中while和do-while循环的主要区别是A。
A. do-while的循环体至少无条件执行一次B. while的循环控制条件比do-while的循环控制条件严格C. do-while允许从外部转到循环体内D. do-while的循环体不能是复合语句(5)以下程序段C。
int x=-1。
do{x=x*x。
}while (!x)。
A. 是死循环B. 循环执行二次C. 循环执行一次D. 有语法错误(6)下列语句段中不是死循环的是__C__。
A. i=100。
while (1){i=i%100+1。
if (i==20) break。
}B.for (i=1。
i++)sum=sum+1。
C.k=0。
do{++k。
} while (k<=0)。
循环习题集锦一.选择题1.for(i=0;i<10;i++);结束后,i 的值是;(10)A 9B 10C 11D 122.下面程序的循环次数是:(D)int k=0;while(k<10){if(k<1) continue;if(k==5) break;k++;}A. 5 B 6 C 4 D 死循环,不能确定循环次数3.下面程序的输出结果是(10)main(){int s,k;for(s=1,k=2;k<5;k++)s+=k;printf(“%d\n”,s);}A 1B 9C 10D 154.要使下面程序输出10 个整数,则在下画线处填入正确的数是:(c)for(i=0;i<= ;)printf(“%d\n”,i+=2);A 9B 10C 18D 205.运行下面程序:(B)main(){ int i=10,j=0;do{ j=j+i;i--;}while(i>5);printf(“%d\n”,j);}输出结果是:A 45B 40C 34D 556.运行下面程序#include “stdio.h”main(){ int k=0,a=1;while(k<10){for( ; ;){ if((k%10)==0)break;elsek--;}k+=11;a+=k;}printf(“%d %d\n”,k,a);}则输出的结果是(C)A 21 32B 21 33C 11 12D 10 117.以下叙述正确的是:(D)A.do---while 语句构成的循环不能用其他语句构成的循环来代替。
B.do---while 语句构成的循环只能用break 语句退出。
C.用do---while 语句构成的循环,在while 后的表达式为非零时结束循环。
D.用do---while 语句构成的循环,在while 后的表达式为零时结束循环。
8.有如下程序:main(){ int x=3;do{printf(“%d”,x--);}while(!x);}该程序的执行结果是:(C)A 3 2 1B 2 1 0C 3D 29.若k 为整型变量,则下面while 循环执行的次数为:(A)k=10;while(k==0) k=k-1;A 0B 1C 10D 无限次10.下面有关for 循环的正确描述是(D)A.for 循环只能用于循环次数已经确定的情况B.for 循环是先执行循环体语句,后判断表达式C.在for 循环中,不能用break 语句跳出循环体。
c语言循环试题及答案C语言循环试题及答案1. 以下哪个选项是C语言中实现循环的关键字?A. switchB. caseC. whileD. do答案:C2. 写出一个使用for循环的程序段,计算1到100之间所有奇数的和。
```cint sum = 0;for(int i = 1; i <= 100; i += 2) {sum += i;}printf("The sum of odd numbers from 1 to 100 is %d", sum);```3. 以下哪个语句是正确的while循环的语法?A. while (condition) statementB. do statement while (condition)C. for (initialization; condition; iteration)D. if (condition) statement答案:A4. 假设有一个数组arr[10],以下哪个循环可以用来遍历这个数组?```cint i;for(i = 0; i < 10; i++) {// 遍历数组}```5. 如果要使用do-while循环打印出1到5的数字,以下哪个程序段是正确的?```cint i = 1;do {printf("%d ", i);i++;} while (i <= 5);```6. 以下哪个选项是break语句的正确用法?A. 用于跳出switch语句B. 用于跳出循环C. 用于进入循环D. 用于结束程序答案:B7. 写出一个使用while循环的程序段,计算1到10的乘积。
int product = 1;int i = 1;while(i <= 10) {product *= i;i++;}printf("The product of numbers from 1 to 10 is %d", product); ```8. 以下哪个选项是continue语句的正确用法?A. 跳过当前循环的剩余部分,开始下一次循环B. 用于跳出循环C. 用于进入循环D. 用于结束程序答案:A9. 假设有一个字符串str,以下哪个循环可以用来遍历这个字符串?```cchar str[] = "Hello";int i = 0;while(str[i] != '\0') {// 遍历字符串i++;}```10. 以下哪个程序段将打印出2到10之间的所有偶数?for(int i = 2; i <= 10; i += 2) { printf("%d ", i);}```。
C语言(分支和循环结构)一一、选择题1.以下程序输出结果是( )main(){ int m=5;if(m++>5) printf("%d\n",m);else printf("%d\n",m--);A)7 B)6 C)5 D)42以下程序的输出结果为( )# include <stdio.h>main ( ){ int i=0, j=0, a=6;if ((++i>0)&&(++j>0)) a++;printf ("i=%d, j=%d, a=%d\n", i,j,a);}A) i=0, j=0, a=6 B) i=1, j=1, a=7C) i=1, j=0, a=7 D) i=0, j=1, a=73有如下程序main(){ int a=2,b=-1,c=2;if(a<b)if(b<0) c=0;else c++;printf("%d\n",c);}该程序的输出结果是( )A) 0 B) 1 C) 2 D) 34若i为int型,且有程序如下,则输出结果是( )i=111;if(i%3==0)printf("####");printf("****");A) #### B) **** C) ####**** D) 无输出结果5若运行时x=12,则运行结果为( ){int x, y;scanf("%d", &x);y=x>12 ? x+10:x-12;printf("%d\n", y);}A) 0 B) 22 C) 12 D) 106以下程序的输出结果是( )main(){ int i=0, j=0, k=6;if ((++i>0)||(++j>0)) k++;printf("%d, %d, %d\n", i, j, k);}A) 0, 0, 6 B) 1, 0, 7 C) 1, 1, 7 D) 0, 1, 77若变量都已正确说明,则以下程序段输出为( )int a=1,b=2,c=3;if(a>b)a=b;b=c;c=a;printf("a=%d b=%d c=%d\n",a,b,c);A)a=1 b=2 c=1 B)a=1 b=2 c=3C)a=1 b=3 c=1 D)a=2 b=3 c=28当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是( ) if(a<b)if(c<d)x=1;elseif(a<c)if(b<d)x=2;else x=3;else x=6;else x=7;A) 1 B)2 C)3 D)69以下不正确的语句为( )A)if(x>y);B)if(x==y)&&(x!=0)x+=y;C)if(x!=y)scanf("%d",&x);else scanf("%d",&y);D)if(x<y){x++;y++;}10有以下程序:#include"stdio.h"main( ){char i;for (; (i=getchar ())!='\n';){switch (i-'a'){case 0: putchar (i);case 1: putchar (i+1);break;case 2: putchar (i+2);case 3: break;default: putchar (i);break;}}printf ("\n");}输入下列数据后,程序的输出结果是( )abcde<CR>A) abcde B) abceeC) abbde D) abccdd11若a、 b、c1、c2、x、y、均是整型变量,正确的switch语句是( ) A) switch(a+b); B) switch(a*a+b*b){ case 1:y=a+b; break; {case 3:case 0:y=a-b; break; case 1:y=a+b;break;} case 3:y=b-a,break;}C) switch a D) switch(a-b){ case 1 :y=a-b; break {case 2: x=a*d; break case c1:case 4:x=a+b;break; default:x=a+b; case c2:case 11:y=a-b;break; } default:y=a*b;break;}12写出下面程序输出结果( ){int x=1, y=0, a=0, b=0;switch(x){case 1:switch(y){case 0: a++;case 1: b++; }case 2: a++; b++;}printf("a=%d, b=%d\n", a, b) ;}A) a=2, b=1 B) a=1, b=1 C) a=1, b=0 D) a=2, b=213 C语言的for语句中的表达式可以部分或全部省略,但两个( )不可省略。
第4章循环结构一、选择题1、有以下程序段int k=0;while(k=1)k++;while 循环执行的次数是( A)A) 无限次B) 有语法错,不能执行C) 一次也不执行D) 执行1次2、t为int类型,进入下面的循环之前,t的值为0while( t=1){ …… }则以下叙述中正确的是( B)A) 循环控制表达式的值为0B) 循环控制表达式的值为1C) 循环控制表达式不合法D) 以上说法都不对3、在C程序中,与while(m)中表达式m完全等价的是(B )A) m==0 B) m!=0 C) m==1 D) m!=14、有以下程序,程序运行后的输出结果是(C )。
main(){int i=1,sum=0;while(i<=4){sum=sum+i;i=i+1;}printf(“%d\n”,sum);}A)4 B)5 C)10 D)死循环5、有以下程序,程序运行后的输出结果是(D )。
main(){ int i=1,sum=0;while(i<=4)sum=sum+i;i=i+1;printf(“%d\n”,sum);}A)4 B)5 C)10 D)死循环6、有如下程序main(){int n=9;while(n>6){n--;printf(“%d”,n);}}该程序段的输出结果是(B)A) 987 B) 876 C) 8765 D) 98767、以下程序的输出结果是( B )main(){ int num= 0;while(num<=2){ num++; printf(“%d\n”,num);}}A) 1 B) 1 C)1 D) l2 2 23 348、有以下程序,若运行时输入3.6 2.4<回车>,则输出的结果是( B)。
main(){float x,y,z;scanf(“%f%f”,&x,&y);z=x/y;while(1){if(fabs(z)>1.0){x=y;y=z;z=x/y;}elsebreak;}printf(“%f\n”,y);}A)1.500000 B)1.600000 C)2.000000 D)2.4000009、执行以下程序段时x=-1;do{ x=x*x; }while(! x);则下面描述正确的是(A )A) 循环体将执行一次B) 循环体将执行两次C) 循环体将执行无限次D) 系统将提示有语法错误10、有以下程序段其输出结果是(C )int x=3;do{ printf("%d",x-=2); }while (!(--x));A) 1 B) 3 0 C) 1 -2D) 死循环11、有如下程序main(){int x=23;do{printf(“%d”,x);x--;}while(!x);}该程序的执行结果是(B )A) 321 B) 23 C) 不输出任何内容D) 陷入死循环12、有以下程序段int n=0,p;do{scanf(“%d”,&p);n++;}while(p!=12345 &&n<3);此处do—while循环的结束条件是( D)A) P的值不等于12345并且n的值小于3B) P的值等于12345并且n的值大于等于3C) P的值不等于12345或者n的值小于3D) P的值等于12345或者n的值大于等于313、以下不构成无限循环的语句或语句组是(A)A) n=0;do {++n;}while(n<0);B) n=0;while(1){n++;}C) n=10;while(n);{n--;}D) for(n=0,i=1; ;i++)n+=i;14、若i为整型变量,则以下循环执行的次数是(B)for(i=2;i= =0;) printf(“%d”,i--);A)无限次B)0次C)1次D)2次15、执行语句for(i=1;i++<4;)后,变量i的值是(C)A) 3 B) 4 C) 5 D) 不定16、有以下程序main(){int y=9 ;for( ; y>0 ; y--)if(y%3==0 ) printf("%d" , --y) ;}程序的运行结果是(C)A) 741 B)963 C)852 D)87542117、以下程序执行后sum的值是( C)A)15 B)14 C) 不确定D)0main(){ int i , sum;for(i=1;i<6;i++) sum+=i;printf(“%d\n”,sum);}18、有如下程序{ int i,sum=0;for(i=1;i<=3;sum++) sum+=i;printf(“%d\n”,sum);}该程序的执行结果是(C)A) 6 B) 3 C) 死循环D) 019、执行语句for(i=3;i>0;i--);i--;后,变量i的值是(C )A)0 B)10 C)-1 D)120、执行下面程序片段的结果是(A )。
2.3顺序结构程序设计2.3.1 要点导读1.printf() 与scanf()语句。
printf() 与scanf()语句是最通用的输入输出函数,它们可以在程序设计者的控制下以各种格式分别实现数据的输出和输入操作。
它们位于stdio.h库文件中。
2.字符数据的输入输出。
最简单的字符输入输出函数是getchar()和putchar()。
两者分别从键盘读一个字符或向显示屏写一个字符。
2.3.2 经典例题分析1.下列程序运行后输出的结果是。
#include <stdio.h>void main(){int a=0,b=0;a=10;b=20;printf(“a+b=%d”,a+b);}分析:printf( )是输出函数,它的括号内由两部分组成:1)控制字符串,是用双引号括起来的字符串,它包括两种信息:(1) 格式说明。
由”%”和格式字符组成,如:%d、%f、%c等。
它的作用是将输出的数据转换成指定的格式输出。
(2) 普通字符。
需要原样输出的字符。
2)”输出表列”是需要输出的一些数据,可以是表达式。
题目中a的值是10,b的值是20,在printf(“a+b=%d”,a+b);格式说明输出表列中,”a+b= “是普通字符,需原样输出。
输出表列是一个表达式,它的结果以整型输出。
答案:a+b=30。
2.下列程序运行后输出的结果是。
#include <stdio.h>void main(){int a=732;printf(“%d\n”,a);printf(“%2d\n”,a);printf(“%10d\n”,a);printf(“%-10d\n”,a);}分析:d格式符,用来输出十进制整数。
其中%d,按整型数据的实际长度输出。
%md,m 为指定的输出字段的宽度。
如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。
printf(“%d\n”,a);把a的值按原样输出:732。
循环编程练习1、求100211001+++=∑= n n 的值。
解(while 循环): #include<stdio.h> int main() { int i,s; i=1; s=0;while(i<=100) { s=s+i; i++;}printf("s=%d\n",s);return 0;}另解(do while 循环): #include<stdio.h> int main() { int i,s; i=1; s=0; do {s=s+i;i++;}while(i<=100); printf("s=%d\n",s);return 0;}另解(for 循环): #include<stdio.h> int main() { int i,s; s=0;for(i=0;i<=100;i++){ s=s+i;}printf("s=%d\n",s); return 0;}2、求1021!10⨯⨯⨯= 的值。
解:#include<stdio.h> int main() { int i,s;s=1;for(i=1;i<=10;i++) { s=s*i;}printf("s=%d\n",s); return 0;}3、求∑=101!i i 的值。
解(for 循环): #include<stdio.h> int main() { int i,s,t; s=0; t=1;for(i=1;i<=10;i++) { t=t*i; s=s+t;}printf("s=%d\n",s);return 0;}另解(嵌套for 循环): #include<stdio.h>int main() { int i,j,s,t; s=0;t=1;for(i=1;i<=10;i++) { for(t=1,j=1;j<=i;j++) {t=t*j; }s=s+t;}printf("s=%d\n",s);return 0;}4、求100994321-++-+- 的值。
简单的C语⾔选择与循环结构10个编程练习题.简单的C语⾔选择与循环结构10个编程练习题1、以下程序的输出结果是___________________:# includevoid main(){int k;for (k=2;k<6;k++,k++) printf(“##%d”,k);}2、以下程序的输出结果是___________________:# includevoid main(){int y=9;for( ; y>4 ; y- -) if (y % 3 == 0) printf(“%d”,- -y);}3、以下程序的输出结果是___________________:#includemain( ){ char c1, c2;for(c1=’0’,c2=’9’;c14、⽤循环语句编程输出⼀⾏20个字符,其中第5、12个字符为“+”,其余的字符为“*”(⽤条件语句i==5 and i==12输出*,否则输出+):****+******+********。
5、⽤循环语句编程输出如下图形(当⾏数为2时输出“+”,否则输出“#”):####################++++++++++++++++++++########################################1,(x>0)6.⽤if语句编程,从键盘输⼊⼀个x,计算y值 y= 0,(x=0)。
-1,(x<0)7、求sum=52+72+92+……+1528、求sum=1/5+1/6+1/7+1/8+…+1/159、编写程序(提⽰字符变量ch从’C’到字符’N’),输出CDEFGHIJKLMN10、打印九九表(提⽰:⽤双重循环,关键代码:printf("%d*%d=%-d",i,j,i*j);/*-3d表⽰左对齐,占3位*/):1*1=12*1=2 2*2=43*1=3 3*2=6 3*3=9……9*1=9 9*2=18 ………………9*9=81。
简单的C语言选择与循环结构10个编程练习题
1、以下程序的输出结果是___________________:
# include <stdio.h>
void main(){
int k;
for (k=2;k<6;k++,k++) printf(“##%d”,k);
}
2、以下程序的输出结果是___________________:
# include <stdio.h>
void main(){
int y=9;
for( ; y>4 ; y- -) if (y % 3 == 0) printf(“%d”,- -y);
}
3、以下程序的输出结果是___________________:
#include <stdio.h>
main( )
{ char c1, c2;
for(c1=’0’,c2=’9’;c1<c2;c1++,c2--) printf("%c%c", c1, c2 ); printf("\n" ); }
4、用循环语句编程输出一行20个字符,其中第
5、12个字符为“+”,其余
的字符为“*”(用条件语句i==5 and i==12输出*,否则输出+):
****+******+********。
5、用循环语句编程输出如下图形(当行数为2时输出“+”,否则输出“#”):####################
++++++++++++++++++++
####################
####################
1,(x>0)
6.用if语句编程,从键盘输入一个x,计算y值 y= 0,(x=0)。
-1,(x<0)
7、求sum=52+72+92+……+152
8、求sum=1/5+1/6+1/7+1/8+…+1/15
9、编写程序(提示字符变量ch从’C’到字符’N’),输出CDEFGHIJKLMN
10、打印九九表(提示:用双重循环,关键代码:printf("%d*%d=%-d",i,j,i*j);/*-3d表示左对齐,占3位*/):
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
……
9*1=9 9*2=18 ………………9*9=81。