c语言if语句的练习题答案
计算机二级考试C语言练习题及答案
structRECctREC;{intn=0;charc='A';}tl,t2;
D.struct{intn;charc;}REC;RECtl,t2;
正确答案:A 答案解析:定义结构体类型的一般形式为:StrUCt结构体名{成员列表};StrUCt结构体名后不能加〃;〃号,所以选 项B、C)错误,选项D中定义无名称的结构体类型同时定义结构体变量形式应为StrUett1,t2;选项A为用户自定义类型 ,其为正确的定义形式。
.若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是() A.一对一 B.一对多
C.多对一 D.多对多 正确答案:B
答案解析:由于B和C有一一对应的联系,而A和B只间有一对多的联系,则通过关系之间的传递,则A和C之间 也是一对多的联系。
.关于C语言的变量,以下叙述中错误的是() A.所谓变量是指在程序运行过程中其值可以被改变的量
B.变量所占的存储单元地址可以随时改变 C.程序中用到的所有变量都必须先定义后才能使用
D.由三条下划线构成的符号名是合法的变量名
正确答案:B
答案解析:变量是指在程序运行过程中其值可以改变的值,一个变量实质上是代表了内存中的某个存储单元。 在程序中对某个变量的操作实际上就是对这个存储单元的操作,程序运行期间,这个分配的存储单元不会改变,但 是其值可以变化。变量命名要符合标识符的规定,其中下划线是标识符的组成字符。程序中所有变量都必须先定义 后使用。
【参考答案】⑴a[i](2)a[j](3)a[j]
【考点分析】
本题考查:数组的引用;if语句条件表达式,如果表达式的值为真,则执行下面的语句,如果该值为假,财不执 行下面的语句。
计算机二级c语言经典练习题及解析答案
计算机二级c语言经典练习题及解析答案一、单选题1. C语言中的三大基本数据类型包括( B )A.整型、实型、逻辑型B.整型、实型、字符型C.整型、逻辑型、字符型D.整型、实型、逻辑型、数组型2. 在C语言中,以下合法的字符常量是( c )A. '\048'B. 'ab'C. '\43'D. "\0"3.设x 为 int 型变量,执行下列语句: x=10; x+=x-=x-x; 则x的值为 ( B )A. 15B. 20C. 25D. 304. 定义如下变量和数组: int i, x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++) printf("%d",x[i][2-i]); 的输出结果是( C )A. 1 4 7B. 1 5 9C. 3 5 7D. 3 6 95.逗号表达式(a=3*5,a*4),a+15的值是( b )A.15B. 30C. 60D. 756. .以下程序的输出结果是( c )。
main( ){ int x=10,y=11;printf("%d,%d\n",x--,--y);}A. 11,11B. 10,11C. 10, 10D.11,107.若一个外部变量的定义形式为static int x ; 其中static的作用是( d )A.将变量存放在静态存储区,使x的值可以永久保留B.使变量x可以由系统自动初始化C.使x的值可以永久保留D.使x只能在本文件内引用8.有如下变量说明:int k=2;则下面的循环共执行多少( d )次while (k!=0) {printf("%d",k);k--;}A.无限多次 B.0次 C.1次 D. 2次9.设有变量说明:int a=7,b=8;那么语句:printf("%d,%d\n",(a+b,a),(b,a+b));的输出应该是( a )A. 7,15B. 8,15C. 15,7D.15,810.若已定义:int a[9], *p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是( b )A. p+1B. a++C. a+1D. ++p11. C语言变量名中不能使用的字符是( d )A. 数字B. 字母C. 下划线D. 关键字12.以下变量定义中合法的是( a )A.short a=2.1e-1;B. double b=1+5e0.5;C. long do=0xffe ;D. float 3_end=1-e3;13.若有说明语句char ch1=′\x79′;则ch1( c )A.包含4个字符B.包含3个字符C. 包含2个字符D.包含1个字符14.C语言中的函数( b )A. 可以嵌套定义B.嵌套调用和递归调用均可C. 不可以嵌套调用D. 可以嵌套调用但不可以递归调用15. 设整形变量a=12;则执行完语句a+=a-=a*a后a的值为( c )A. 552B. 264C. -264D. 14416.设a=1,b=2,c=3,d=4,则表达式:a>b?a:c<d?a:d的结果是( a )A.1 B.2 C.3 D.417.若有说明语句:int b[][4]={ 3,1,2,5,7,6,4}; 则b数组的行数为( b )A. 3B. 2C.无确定值D. 118. 若有定义:char c[10];从键盘输入“LiFang”,则正确的函数引用是( c )A. scanf(″%c″,&c[10]);B. gets(c);C. scanf(″%s″,&c);D. gets(c[10]);19. 两个基类型相同的指针变量之间,不能进行的运算是( c )A. <B. =C. +D.-20. 下面程序段执行结果是( b )int i=5,k; k=(++i)+(++i)+(i++); printf("%d,%d",k,i);A. 24,8B. 21,8C. 21,7D. 24,721.以下选项中属于C语言的数据类型是( b )。
C语言第四章习题及答案(课余练习-不用提交)
第四章习题答案一、选择题1)以下是if语句的基本形式:if(表达式) 语句其中"表达式"A)必须是逻辑表达式B)必须是关系表达式C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式2)以下选项中,值为1的表达式是()。
A)1-'0' B)1-'\0' C)'1'-0 D)'\0'-'0'3)若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是:A)1 B)0 C)2 D)不知道a的值,不能确定4)若变量已正确定义,在if (W)printf(“%d\n”,k);中,以下不可替代W的是A)a<>b+c B)ch=getchar()C)a==b+c D)a++5)设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是A)if(x++); B)if(x>y&&y!=0);C)if(x>y) x- - D)if(y<0) {;}else y++; else x++;6) 以下选项中,当x为大于1的奇数时,值为0的表达式A)x%2==1 B)x%2 C)x%2!=0 D)x%2==07) 设有条件表达式:(EXP)?i++;j--,则以下表达式中(EXP)完全等价的是A)(EXP= =0) B)(EXP!=0)C)(EXP= =1)D)(EXP!=1)8) 在以下给出的表达式中,与while(E)中的(E)不等价的表达式是A)(!E=0) B) (E>0||E<0) C) (E==0) D) (E!=0)9)若有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++):(y++)中的条件表达式(x-y)等价的是()。
A)(x-y>0) B)(x-y<0) C)(x-y<0||x-y>0) D)(x-y==0)10) 若有表达式(w)?(--x):(++y),则其中与w等价的表达式是 ( )A)w==1 B) w==0 C) w! =1 D) w! =011) 设有定义: int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是A)if(a>b) c=a,a=b,b=c; B)if(a>b){c=a,a=b,b=c;}C)if(a>b) c=a;a=b;b=c; D)if(a>b){c=a;a=b;b=c;}12) 已知字母A的ASCⅡ代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是A)kk>='A'&&kk<='Z' B)!(kk>='A'‖kk<='Z')C)(kk+32)>='a'&&(kk+32)<='z' D)isalpha(kk)&&(kk<91)isalpha(c) 判断参数c是否为英文字母头文件:ctype.hisupper(c) 判断参数c是否为大写英文字母是返回非零值,否则返回零islower(c ) 检查参数c是否为小写英文字母13)已有定义:char c; ,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是A)isupper(c) B)’A’<=c<=’Z’C)’A’<=c&&c<=’Z’D)c<=(‘z’-32)&&(‘a’-32)<=c14) 当变量c的值不为2、4、6时,值也为“真”的表达式是A)(c==2)‖(c==4)‖(c==6) B)(c>=2&&c<=6)‖(c!=3)‖(c!=5)C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&&c<=6)&&(c%2!=1)15) 若变量已正确定义,有以下程序段int a=3,b=5,c=7;if(a>b) a=b; c=a;if(c!=a) c=b;printf("%d,%d,%d\n",a,b,c);其输出结果是A)程序段有语法错 B)3,5,3 C)3,5,5 D)3,5,7 16)有以下程序#includemain(){int a=1,b=0;if(!a) b++;else if(a==0) if(a) b+=2;else b+=3;printf("%d\n",b); }程序运行后的输出结果是A)0 B)1 C)2 D)317)在嵌套使用if语句时,C语言规定else总是()。
C语言课后习题答案
void main()
{
int i=2,n,c;
c=0;
printf("守形数有:");
while(i<1001)
{
n=i*i;
if(n%10==i)
{
printf("%5d",i);
c++;
}
else if(n%100==i)
{
printf("%5d",i);
c++;
int main()
{
int i=0;
int nums[10];
int sum = 0;
int product = 1;
int sum_of_square = 0;
for( i=0; i<10; ++i )
{
printf( "请输入数据: " );
scanf( "%d", &nums[i] );
sum += nums[i];
#include<stdio.h>
void main()
{
int num1=1,num2=1,i=1;
printf("%3d%3d",num1,num2);
while(i<=20)
{
num1=num1+num2;
num2=num1+num2;
i++;
printf("%3d%3d",num1,num2);
{
n=a%10;
sum+=n;
国家开放大学C语言试题及参考答案
1.C语言中的循环类语句有3条,它们是()。
选择一项:A. for,if,whileB. for,while,doC. while,do,switchD. for,break,do正确答案是:for,while,do2.C语言中的跳转类语句有四条,它们是goto,return和()。
A. break,constB. static,continueC. break,continueD. while,extern正确答案是:break,continue3.当不需要函数返回任何值时,则所使用的返回类型为()。
A. IntB. unionC. voidD. Void 正确答案是:void4.在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和()。
选择一项:A. 表达式B. 语句C. 函数体D. 参数表正确答案是:参数表5.在一个程序文件的开始,若需要使用一个包含命令包含一个头文件时,则命令标识符为A. #cludeB. #constC. #includeD. #defile正确答案是:#include6.在#include预处理命令中,不可以包含()。
A. 系统头文件B. 程序文件C. 用户头文件D. 目标文件正确答案是:目标文件7.在printf()函数调用的格式字符串中,若使用格式符为“%6.2f”,则规定对应输出的数据占用的字符位置个数为()。
选择一项:A. 5B. 6C. 4D. 2正确答案是:68.在printf()函数调用的格式字符串中,若使用格式符为“%6.2f”,则规定对应输出的数据中,其小数部分占用的字符位置个数为()。
选择一项:A. 5B. 6C. 4D. 2正确答案是:29.在printf()函数调用的格式字符串中,若使用格式符为“%6.2f”,则规定对应输出的数据中,其整数部分占用的字符位置个数为()。
A. 6B. 4C. 3D. 2正确答案是:310.在scanf()函数调用的格式字符串中,若使用格式符为“%f”,则对应输入的数据类型为()。
计算机c语言习题(含答案)
1. 有如下程序main(){ int n[5]={0,0,0},i,k=2;for(i=0;i < k;i++) n[i]=n[i]+1;printf("%d\n",n[k]);}该程序的输出结果是 DA、不确定的值B、2C、1D、02. 执行下面的程序后,a的值为__B___main(){ int a,b;for (a=1,b=1;a < 100;a++){if (b > =20) break;if (b%3==1){ b+=3; continue; }b-=5;}}A、7B、8C、9D、103. 下述程序的输出结果是( B )。
#includemain(){int k=0,m=0;int i,j;for(i_O;i<2;i++){for(j:0;j<3;j++)k++:k一=j;}m=i+j;printf(”k=%d,m=%d”,k,m);}A、k=0,m=3B、k=O,m=5C、D)k=l,m=3D、D)k=l,m=54. 以下程序段____C__x=-1;do{x=x*x;}while(!x);A、是死循环B、循环执行二次C、循环执行一次D、有语法错误5. 有如下程序 Bmain(){ int n=9;while(n > 6) {n--;printf("%d",n);}}该程序段的输出结果是A、987B、876C、8765D、98766. 有以下程序main(){ int i, j;for(j=10;j < 11;j++){ for(i=9;i < j; i++)if (!(j%i))break;if(i=j-1)printf("%d",j);}}输出结果是 BA、11B、10C、9D、10 117. 以下程序的输出结果是 Amain( ){ int i;for(i=1;i < 6;i++){ if(i%2){printf("#");continue;}printf("*");}printf("\n");A、#*#*#B、#####C、*****D、*#*#*8. 以下叙述正确的是( D )A、do-while语句构成的循环不能用其它语句构成的循环来代替B、do-while语句构成的循环只能用break语句退出C、用do-while语句构成的循环,在while后的表达式为非零时结束循环。
c语言上机练习
第一次上机练习(首次)1.阅读以下程序,说出其功能和运算结果(输入5↙)。
#include <stdio.h>int main( ){int n ;int factorial(int n) ;scanf("%d",&n) ;printf("%d\n", factorial(n)) ;return 0 ;}int factorial(int n){int i, fact=1 ;for(i=1;i<=n;i++)fact=fact*i ;return fact ;}答案:120 求n的阶乘。
2.改正下列程序中的错误,在屏幕上显示“Welcome to You!”。
#include <stdio.h>int mian( ){printf("Welcome to You!\n")return 0 ;}答案:2行main4行末尾少分号3.编写程序在屏幕上显示以下内容:Programming is fun.And Programming in C is even more fun!答案:#include <stdio.h>int main( ){printf("Programming is fun.\nAnd Programming in C is even more fun!\n") ;return 0 ;}4.编写程序输出以下图案:* * * ** * ** **答案:#include <stdio.h>void main( ){printf("* * * *\n");printf(" * * *\n");printf(" * *\n");printf(" *\n");}5.编写程序,计算并在屏幕上显示10~20的平方值。
C语言习题级答案
选折题1. int a=1,b=2,c=3; if(a>b)a=b; if(a>c)a=c; 则a的值为(A)。
A、1B、不一定C、3D、22.以下选项中不合法的用户标识符是 BA、DimB、printfC、_123D、A$3. int i,j,a[2][3];按照数组a的元素在内存的排列次序,不能将数1,2,3,4,5,6存入a数组的是(C)。
A、for(i=0;i<2;i++)for(j=0;j<3;j++)a[i][j]=i*3+j+1;B、for(i=0;i<6;i++)a[i/3][i%3]=i+1;C、for(i=1;i<=6;i++)a[i][i]=i;D、for(i=0;i<3;i++)for(j=0;j<2;j++)a[j][i]=j*3+i+1;4.以下所列的C语言常量中,错误的是___A___。
A、1.2e0.5B、0xFFC、2LD、'\72'5.若有说明: int a[3][4]={0};则下面正确的叙述是(A)。
A、数组a中每个元素均可得到初值0B、只有元素a[0][0]可得到初值0C、此说明语句不正确D、数组a中各元素都可得到初值,但其值不一定为06.以下正确的字符串常量是 DA、'abc'B、'A'C、OlympicGamesD、"\\\"7. C语言中,char类型数据占(C)。
A、8个字节B、4个字节C、1个字节D、2个字节8.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\101'是____D__。
A、非法的常量B、字符aC、字符eD、字符A9.以下函数的类型是(D)fff(float x){return 5;}A、与参数x的类型相同B、void 类型C、无法确定D、int类型10.以下叙述中正确的是(A)。
c语言if语句的练习题答案
1、编写程序输入a和b,求a和b的余数和商。
#include<>void main(){int a,b;scanf("%d%d",&a,&b);printf("商为%d 余数为%d",a/b,a%b);}2、输入一个整型数据,分别求出各位数字。
如:469,则个位数是9,十位数是6,百位数是4。
#include<>void main(){ int a,m=0;int t,t1,t2,t3,t4;scanf("%d",&a);if(a<0||a>99999)printf("输入数据超出范围\n");else if (a>=0&&a<10){ m=1;printf("该数是%d位数,其个位数为%d\n",m,a);}else if(a>=10&&a<100){m=2;t=a%10;a=a/10;printf("该数是%d位数,其个位数为%d 十位数为%d\n",m,t,a);}else if(a>=100&&a<1000){m=3;t=a%10;t1=(a/10)%10;t2=a/100;printf("该数是%d位数,其个位数为%d 十位数为%d 百位数为%d\n",m,t,t1,t2);}else if(a>=1000&&a<10000){m=4;t=a%10;t1=a/10%10;t2=a/100%10;t3=a/1000;printf("该数是%d位数,其个位数为%d 十位数为%d 百位数为%d 千位数字为%d\n",m,t,t1,t2,t3);}else if(a>=10000&&a<100000){m=5;t=a%10;t1=a/10%10;t2=a/100%10;t3=a/1000%10;t4=a/10000;printf("该数是%d位数,其个位数为%d 十位数为%d 百位数为%d 千位数字为%d 万位数字为%d\n",m,t,t1,t2,t3,t4);}}以上写法太繁琐了,如果学习了循环,则简单很多。
C语言实验2-6参考答案
实验二参考答案1.输入两个整型数字,输出他们的和。
#include<stdio.h>main(){int a, b, sum;scanf(“%d%d ”, &a, &b);sum=a+b;printf(“a+b=%d ”, sum);}2.输入两个实型数,输出他们的和与乘积。
#include<stdio.h>main(){float a, b, sum, product;scanf(“%f%f ”, &a, &b);sum=a+b;product=a*b;printf(“a+b=%5.2f, a*b =%5.2f ”, sum, product);}3.求方程02=++c bx ax 的根(设042≥-ac b )(其中a ,b ,c 的值由键盘输入)。
#include<stdio.h>#include<math.h>main(){float a, b, c, dt, x1, x2;scanf(“%f%f%f ”, &a, &b, &c);dt=sqrt(b*b-4*a*c);x1=(-b+dt)/(2*a);x2=(-b-dt)/(2*a);printf(“x1=%5.2f, x2 =%5.2f ”, x1, x2);}4.鸡兔同笼,已知鸡兔总头数为h,总脚数为f,求鸡兔各多少只?(h和f的值由键盘输入,输出鸡和兔的头数)#include<stdio.h>main(){int h, f, x,y;scanf(“%d%d”, &h, &f);x=2*h-f/2;y=f/2-h;printf(“x=%d, y =%d”, x, y);}实验三参考答案1.输入三个数a、b、c,要求按由小到大的顺序输出。
#include<stdio.h>main(){float a,b,c,t;scanf(“%f,%f,%f”,&a,&b,&c);if(a>b){t=a; a=b; b=t;}if(a>c){t=a; a=c; c=t;}if(b>c){t=b; b=c; c=t;}printf(“%f,%f,%f”,a,b,c);}2.编写程序,输入三角形三边a、b、c,判断a、b、c能否构成三角形,若不能则输出相应的信息,若能则判断组成的是等腰、等边、直角还是一般三角形。
C语言程序设计函数练习题及参考答案
C语言程序设计练习题及参考答案1、定义一个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三角形函数返回3,若能构成等腰三角形函数返回2,若能构成一般三角形函数返回1,若不能构成三角形函数返回0。
#include <stdio.h>int fun(int a,int b,int c){if(a+b>c && b+c>a && a+c>b){if(a==b && b==c)return 3;else if(a==b||b==c||a==c)return 2;else return 1;}else return 0;}void main(){int a,b,c,shape;printf("\nInput a,b,c: ");scanf("%d%d%d",&a,&b,&c);printf("\na=%d, b=%d, c=%d\n",a,b,c);shape =fun(a,b,c);printf("\n\nThe shape : %d\n",shape);}2、编写一个程序,将两个变量的值交换, 例如变量a中的值原为3,b中的值原为8,程序运行后a 中的值为8,b中的值为3。
#include <stdio.h>void fun(int *x,int *y){int t;t=*x;*x=*y;*y=t}void main(){int a=3,b=8;printf("%d %d\n",a,b);fun(&a,b);printf("%d %d\n",a,b);}3、从键盘输入3个数,将最大值放在变量a中,最小值放在变量c中。
例如,输入的数为:55 12 34,输出结果应当是:a=55.0,b=34.0,c=12.0。
c语言编程题及答案
c语言编程题及答案1. 输入输出题题目:编写一个程序,要求从键盘输入两个整数,然后输出它们的和。
答案:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:\n");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("它们的和为:%d\n", sum);return 0;}```2. 条件语句题题目:编写一个程序,要求从键盘输入一个整数,判断它是否为正数、负数还是零,并输出相应的提示信息。
答案:```c#include <stdio.h>int main() {int num;printf("请输入一个整数:\n"); scanf("%d", &num);if (num > 0) {printf("这是一个正数。
\n"); } else if (num < 0) {printf("这是一个负数。
\n"); } else {printf("这是零。
\n");}return 0;}```3. 循环语句题题目:编写一个程序,要求计算并输出1到100之间所有偶数的和。
答案:```c#include <stdio.h>int main() {int i, sum;sum = 0;for (i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("1到100之间所有偶数的和为:%d\n", sum);return 0;}```4. 数组题题目:编写一个程序,要求定义一个包含10个整数的数组,并逐个从键盘输入数组元素的值,然后对数组进行逆序输出。
C语言经典练习题50道(附答案)
1.**打印Hello World**练习:编写一个C程序,打印"Hello,World!"到屏幕上。
#include<stdio.h>int main(){printf("Hello,World!\n");return0;}2.**计算两个整数的和**练习:编写一个程序,接受两个整数,然后计算它们的和并打印结果。
#include<stdio.h>int main(){int a=5,b=7;int sum=a+b;printf("Sum:%d\n",sum);return0;}3.**判断奇数或偶数**练习:编写一个程序,接受一个整数,然后判断它是否为奇数或偶数。
#include<stdio.h>int main(){int num=10;if(num%2==0){printf("%d is even.\n",num);}else{printf("%d is odd.\n",num);}return0;}4.**计算阶乘**练习:编写一个程序,计算给定整数的阶乘。
#include<stdio.h>int main(){int n=5;int factorial=1;for(int i=1;i<=n;i++){factorial*=i;}printf("Factorial of%d is%d\n",n,factorial);return0;}5.**反转字符串**练习:编写一个程序,接受一个字符串,然后反转它并打印出来。
#include<stdio.h>#include<string.h>int main(){char str[]="Hello,World!";int len=strlen(str);for(int i=len-1;i>=0;i--){printf("%c",str[i]);}printf("\n");return0;}6.**检查素数**练习:编写一个程序,判断一个整数是否为素数。
C语言程序设计(判断题专项练习)及答案
计算机C语言(判断题专项练习)及答案一、基础知识(每小题1 分,共 10分)()1、程序调试就是找出并改正c源程序中的语法错误。
()2、一个变量的数据类型被强制转换后,它将保持被强制转换后的数据类型。
()3、在标准c语言中,共用体变量中的各成员是共同占用一块存储空间()4、赋值运算符的结合方向为自右向左。
()5、c语言的标识符由字母、数字和下划线组成,其中第一个字符必须是字母或下划线。
()6、在c程序中, aph和Aph 是两个相同的变量()7、计算机语言(computer language)是人与计算机之间通讯的语言。
()8、在c语言中,当一个逻辑表达式的值为"假"时,该表达式的值一定是 0()9、在c程序中,abc与ABC是两个相同的变量。
()10、c语言中sizeof 是函数,而不是运算符。
二、控制结构(每小题1 分,共 10分)()1、if 语句后面的表达式只能是关系表达式()2、在switch语句中,可以根据需要使用或不使用break语句。
()3、在标准c中,逻辑表达式中只允许出现逻辑型数据。
()4、逻辑表达式的值只能为1或0。
()5、c程序中if语句可以单独存在。
()6、省略else的if语句的一般形式如下,若表达式的值为"真",则执行语句1;否则,就什么也不做。
if (表达式) 语句1()7、在if语句中,必须出现else。
()8、内层break语句可以终止嵌套的switch,使最外层的switch结束。
()9、switch语句中的default必须出现在所有case之后。
()10、switch语句中,每一个case的冒号后面都必须至少跟有一条语句。
三、循环结构(每小题1 分,共 10分)()1、for循环的三个表达式可以任意省略,while,do-while也是如此。
()2、选择结构( if 语句)和循环结构都可以使用嵌套形式()3、在循环过程中,使用break语句和continue语句的作用是一样的()4、无论哪种循环语句,都必须给出循环结束条件。
C语言if语句配套习题及解答
if (a>100||a<0)
printf ("笨啊成绩有小于零的么成绩还大于100你以为满分150啊");
else
switch (a/10)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5: printf ("你怎么这么笨啊这么简单的卷子你都不及格成绩等级为E\n");
printf ("所以面积就是%f周长就是%f\n",sqrt(d*(d-a)*(d-b)*(d-c)),a+b+c);
}
else
{
if (a*a+b*b==c*c||b*b+c*c==a*a||a*a+b*b==c*c)
{
printf ("哇宝贝这是直角三角形啊\n");
printf ("面积算是好算但程序麻烦还是要用海伦就是%f周长是%f\n",sqrt(d*(d-a)*(d-b)*(d-c)),a+b+c);
printf宝贝这是直角三角形啊printf面积算是好算但程序麻烦还是要用海伦就是f这就是普通三角形啊没什么特别的n
实验三分支结构实验——IF语句
1、输入一个学生成绩,判断并输出该学生是否及格。
#include <stdio.h>
main()
{
int a;
printf ("宝贝叫你不好好学习这次要录成绩了吧不要躲了赶快报上你的分数哈哈\n");
if (a+b>c&&a+c>b&&b+c>a)
C语言编程练习题附答案
C语言编程练习题附答案1.从键盘输入20个整数,使用冒泡排序将它们从大到小排列并输出。
includeint main() {int a[20]。
i。
j。
t;printf("请任意输入20个整数\n");for (i = 0.i < 20.i++)scanf("%d"。
&a[i]);printf("\n");for (i = 0.i < 19.i++)for (j = 0.j < 19 - i。
j++)if (a[j] < a[j + 1]) {t = a[j];a[j] = a[j + 1];a[j + 1] = t;printf("按照从大到小的顺序排列为\n");for (i = 0.i < 20.i++)printf("%d,"。
a[i]);printf("\n");return 0;2.从键盘输入20个整数,使用选择排序将它们从大到小排列并输出。
includedefine N 20int main() {int a[N]。
i。
j。
max。
k;printf("请任意输入20个整数\n");for (i = 0.i < N。
i++)scanf("%d"。
&a[i]);printf("\n");for (i = 0.i < N - 1.i++) {k = i;for (j = i + 1.j < N。
j++)if (a[i] < a[j])k = j;max = a[k];a[k] = a[i];a[i] = max;printf("按照从大到小的顺序排列为\n");for (i = 0.i < N。
i++)printf("%d,"。
c语言中if语句的用法例题
c语言中if语句的用法例题一、if语句的基本用法及示例题解析C语言中的if语句是一种条件控制语句,常用于根据某个条件的真假来决定程序的执行路径。
在本文中,我们将详细讨论C语言中if语句的用法,并通过一些例题来展示其实际应用。
1.1基本语法和用法if语句的基本语法如下:```if (condition){// condition为真时执行这里的代码}```"condition" 是一个表达式,返回值为布尔类型(true或false)。
当condition为true时,if后面花括号中的代码块会被执行;当condition为false时,则跳过该代码块。
1.2 例题解析例如,我们有一个例子:判断一个数是否是正数。
如果是正数,则打印"是正数";否则,什么也不做。
```#include <stdio.h>int main(){int num;printf("请输入一个整数:");scanf("%d", &num);if (num > 0)printf("这个数是正数\n");return 0;}```首先,在此示例中,用户输入一个整数,并使用`scanf`函数将其保存在变量`num`中。
然后,通过使用if条件判断 `num > 0` 条件是否成立。
如果成立,则打印出“这个数是正数”。
1.3 if-else语句在一些情况下,我们需要不仅仅处理条件为真的情况,还要处理条件为假的情况。
这时,可以使用if-else语句。
```if (condition){// condition为真时执行这里的代码}else{// condition为假时执行这里的代码}```如果if后面的条件为真,则执行花括号中if代码块中的内容;否则将执行else 后面花括号中的内容。
1.4 例题解析举个例子:根据用户输入的年龄判断是否成年。
c语言if语句练习题
c语言i f语句练习题(总8页) -CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除c语言if语句练习题1、输入一个学生成绩,判断并输出该学生是否及格。
#include main { int a; printf ; scanf ; if printf ; else switch { case 0: case 1: case: case: case: case: printf ; break; 为B\n”); } } 2、输入三角形的三条边长,求三角形的周长和面积,若不能构成三角形,输出提示。
拓展练习:根据用户输入的三角形的三条边长判定是何种三角形。
提示:正三角形——三边相等;等腰三角形——三边中有两边相等;直角三角形——两边的平房和等于第三边平方。
case: printf; break; case: printf; break; case: printf; #include #include main { float a,b,c,d; \n”); printf ; d=/2; if { if {printf ; printf ; } else { if { printf ; printf **),a+b+c); } else { if{ printf ; printf **),a+b+c); } else { printf ; printf **),a+b+c); } } } } else printf ; } 3、输入3个分别表示箱子长、宽、高的整数值,判断并输出该箱子是正方体还是长方体。
马克思手稿中有一道趣味数学题:有30个人,其中有男人、女人和小孩,在一家饭馆里吃饭共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,问男人、女人和小孩各有几人解方程组编写程序,采用穷举法求出结果。
编写程序,根据以下公式求e的值。
c语言if语句习题,C语言练习
c语⾔if语句习题,C语⾔练习C语⾔练习D.算法只能被有限的⽤户使⽤18、 有如下嵌套的if语句:以下选项中与上述if语句等价的语句是( )。
A. k=(aB.B.:((b>C.?b:C.;B.k=(aD.k=(a19、 有以下程序:程序运⾏后的输出结果是( )。
A.0B.1C.2D.320、 有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使⽤的运算为( )。
A.笛卡尔积B.交C.并D.⾃然连接21、 有以下程序(说明:字母A的ASCIl码值是65):程序运⾏后的输出结果是( )。
A.BTB.YEC.YTD.BY22、 下列叙述中正确的是( )。
A.顺序存储结构的存储⼀定是连续的,链式存储结构的存储空间不⼀定是连续的B.顺序存储结构只针对线性结构,链式存储结构只针对⾮线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构⽐顺序存储结构节省存储空间23、 软件测试的⽬的是( )。
A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中的错误D.发现程序中的错误24、 软件⽣命周期是指( )。
A.软件产品从提出、实现、使⽤维护到停⽌使⽤退役的过程B.软件从需求分析、设计、实现到测试完成的过程C.软件的开发过程D.软件的运⾏维护过程25、 以下关于retllm语句的叙述中正确的是( )。
A.⼀个⾃定义函数中必须有⼀条return语句B.⼀个⾃定义函数中可以根据不同情况设置多条retum语句C.定义成void类型的函数中可以有带返回值的return语句D.没有return语句的⾃定义函数在执⾏结束时不能返回到调⽤处26、 在长度为n的有序线性表中进⾏⼆分查找,最坏情况下需要⽐较的次数是( )。
A.0(n)B.D(n2)C.O(1092n)D.0(nl092n)27、 若有定义语句:double x,y,*px,*PY;执⾏了laX=&x;lay=&y;之后,正确的输⼊语句是( )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、编写程序输入a和b,求a和b的余数和商。
#include<stdio.h>
voidmain()
{
inta,b;
scanf("%d%d",&a,&b);
printf("商为%d余数为%d",a/b,a%b);
}
2、输入一个整型数据,分别求出各位数字。
如:469,则个位数是9,十位数是6,百位数
是4。
#include<stdio.h>
voidmain()
{inta,m=0;
intt,t1,t2,t3,t4;
scanf("%d",&a);
if(a<0||a>99999)
printf("输入数据超出范围\n");
elseif(a>=0&&a<10)
{m=1;
printf("该数是%d位数,其个位数为%d\n",m,a);
}
elseif(a>=10&&a<100)
{
m=2;
t=a%10;
a=a/10;
printf("该数是%d位数,其个位数为%d十位数为%d\n",m,t,a);
}
elseif(a>=100&&a<1000)
{
m=3;
t=a%10;
t1=(a/10)%10;
t2=a/100;
printf("该数是%d位数,其个位数为%d十位数为%d百位数为%d\n",m,t,t1,t2);
}
elseif(a>=1000&&a<10000)
{
m=4;
t=a%10;
t1=a/10%10;
t2=a/100%10;
t3=a/1000;
printf("该数是%d位数,其个位数为%d十位数为%d百位数为%d千位数字
为%d\n",m,t,t1,t2,t3);
}
elseif(a>=10000&&a<100000)
{
m=5;
t=a%10;
t1=a/10%10;
t2=a/100%10;
t3=a/1000%10;
t4=a/10000;
printf("该数是%d 位数,其个位数为%d 十位数为%d 百位数为%d 千位数字为%d 万位数字 为%d\n",m,t,t1,t2,t3,t4);
}
}
以上写法太繁琐了,如果学习了循环,则简单很多。
#include<stdio.h>
voidmain()
{
inta,b;
intn=0;
scanf("%d",&a);
while(a)//while(a!=0)
{n++;//n 用来统计数字a 是几位数,n 的初值必须为0
b=a%10;
a=a/10;//a/=10;
printf("%d",b);//输出a 的各位数字
}
printf("a 的位数为%d",n);//此语句必须写在循环体的外面
}
3、编程输入两个整型数据a 和b ,若a 的结果大于100,则输出a 2+b 2 2+b 2
2+b 2 的值,否则输出 a+b 的结果。
#include<stdio.h>
voidmain()
{
inta,b;
scanf("%d%d",&a,&b);
if(a*a+b*b>100)
printf("%d\n",a*a+b*b);
else
printf("%d\n",a+b);
2+b 2 的
值}//还可以用一个变量来表示a
4、输入两个整数a 和b ,若a 3-b 3-b 3 小于0,则输出a-b 的值,否则输出a 3-b 3-b
3 的结果。
#include<stdio.h>
voidmain()
{
inta,b;
scanf("%d%d",&a,&b);
if(a*a*a-b*b*b<0)
printf("%d\n",a-b);
else
printf("%d\n",a*a*a-b*b*b);
}
5、输入两个整数a和b,若a-b的结果为奇数,则输出该值,否则输出提示信息。
#include<stdio.h>
voidmain()
{
inta,b;
scanf("%d%d",&a,&b);
if((a-b)%2!=0)//if((a-b)%2)
printf("%d\n",a-b);
else
printf("a-b的结果为不是奇数");
}
6、编程判断输入的数是否既是5又是7的倍数,如果是输出yes,否则输出no。
#include<stdio.h>
voidmain()
{
inta;
scanf("%d",&a);
if(a%7==0&&a%5==0)//if(a%35==0)或者if(!(a%35))
printf("yes");
else
printf("no");
}
7、从键盘上输入一个表示年份的整数,判断该年份是否是闰年,判断后的结果显示在屏幕
上。
#include<stdio.h>
voidmain()
{
intyear;
scanf("%d",&year);
if(year%4==0&&year%100||year%400==0)
//if(year%4==0&&year%100!=0||year%400==0)
printf("%d年是闰年!",year);
else
printf("%d年不是闰年!",year);
}//还可以用if~else的嵌套来实现
8、从键盘上输入一个字符,如果是大写字母,则转换成小写字母,如果是小写字母,转换
成大写字母,如果是数字字符,转换成该数字所对应的数值的平方。
否则原样输出。
#include<stdio.h>
voidmain()
{
charch;
ch=getchar();//scanf("%c",&ch);
if(ch>='A'&&ch<='Z')
putchar(ch+=32);
elseif(ch>='a'&&ch<='z')
putchar(ch-=32);
elseif(ch>='0'&&ch<='9')
{inta;
a=ch-'0';//用来求对应数字的平方,ch为字符,ch-‘0’的结果却为数值
printf("%d\n",a);
}
else
printf("您输入的是除字母和数字之外的其他字符!\n");
}。