C语言50题
c语言测试题目及答案
c语言测试题目及答案一、选择题(每题2分,共20分)1. 下列哪个关键字不是C语言的控制语句?A. ifB. switchC. whileD. loop答案:D2. C语言中,一个整型变量int占用的字节数是多少?A. 1B. 2C. 4D. 8答案:C3. 在C语言中,以下哪个运算符用于计算两个数的乘方?A. *B. /C. ^D. %答案:C4. 下列哪个函数用于计算一个数的绝对值?A. abs()B. max()C. min()D. pow()答案:A5. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. {"Hello World"}D. ["Hello World"]答案:A6. 在C语言中,以下哪个是正确的数组声明?A. int array[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};B. int array[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};C. int array = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};D. int array[10] = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9;答案:B7. 在C语言中,以下哪个是正确的函数声明?A. void myFunction(int x, int y);B. int myFunction();C. void myFunction(int x, int y) {}D. int myFunction(int x, int y);答案:A8. 在C语言中,以下哪个是正确的递归函数调用?A. func(5);B. func(func(5));C. func(func(5, 3));D. func(5, 3);答案:B9. 下列哪个是C语言中合法的变量名?A. 2variableB. variable-nameC. variable#nameD. variable_name答案:D10. 在C语言中,以下哪个是正确的结构体声明?A. struct Person { int age; char name[50]; };B. struct { int age; char name[50]; };C. Person { int age; char name[50]; };D. Person struct { int age; char name[50]; };答案:A二、填空题(每空2分,共20分)1. C语言中,用于定义一个函数的关键字是________。
C语言考试试题及答案
《C语言》考卷一单选题(每题2分,共25题,共50分)1.要把高级语言编写的源程序转换为目标程序,需要使用( )[2分][2分]A.编辑程序B.驱动程序C.诊断程序D.编译程序参考答案:D2.以下叙述中正确的是( )[2分][2分]A.C语言程序将从源程序中第一个函数开始执行B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C.C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D.main可作为用户标识符,用以命名任意一个函数作为主函数参考答案:C3.若变量a是int类型,并执行了语句:a=‘A'+1.6;,则正确的叙述是( )[2分][2分] int a int a=66 = 65 + 1.6 =66.6A.a的值是字符BB.a的值是浮点型C.不允许字符型和浮点型相加D.a的值是字符‘A’的ASCII值加上2参考答案:Aint a = ‘A’;char b = 65;4.若变量已正确定义并赋值,以下符合C语言语法的表达式是( )[2分][2分]A.a:=b+1B.a=b=c+2C.18.5%3D.a=a+7=c+b参考答案:B5.下列可用于C语言用户标识符的一组是( )[2分][2分]A.void, define, WORDB.a3_b3, _123,carC.For, -abc, IF CaseD.2a, DO, sizeof参考答案:B6.若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是( )[2分][2分]A.scanf("%d",a,b,c);B.scanf("%d%d%d",a,b,c);C.scanf("%d",p); //scanf(“%d”,&c);D.scanf("%d",&p);参考答案:C7.以下关于long、int和short类型数据占用内存大小的叙述中正确的是( )[2分][2分]A.均占4个字节B.根据数据的大小来决定所占内存的字节数 // long a = 1 int b = 1000000C.由用户自己定义D.由C语言编译系统决定参考答案:D8.若变量已正确定义,有以下程序段i=0;do{printf("%d,",i); //0}while(i++); //while(0) i=1printf("%d\n",i); //1其输出结果是( )[2分][2分]A.0,0B.0,1C.1,1D.程序进入无限循环参考答案:B9.有以下计算公式则不能够正确计算上述公式的程序段是( )(提示:库函数sqrt()用来求一个数的平方根)[2分][2分]A.if(x>=0) y=sqrt(x); else y=sqrt(-x); //if/else配合使用B.y=sqrt(x) if(x<0) y=sqrt(-x);C.if(x>=0)y=sqrt(x); if(x<0)y=sqrt(-x); //if单独使用D.y=sqrt(x>=0?x:-x);参考答案:B10.设有条件表达式:EXP ? i++ : j--;则以下表达式与之完全等价的是( )[2分][2分]A.(EXP==0)? i++ : j--;B.(EXP!=0)? i++ : j--;C.(EXP==1)? i++ : j--;D.(EXP!=1)? i++ : j--;参考答案:B11.有以下程序#include<stdio.h>int main(void){int y=9;for( ; y>0; y--){if(y%3 == 0)printf("%d",--y);}}程序的运行结果是( )[2分][2分]A.741B.963C.852D.875421参考答案:C12.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是( )[2分][2分]A.函数的实参和其对应的形参共占同一存储单元B.形参只是形式上的存在,不占用具体存储单元 //局部变量C.同名的实参和形参占同一存储单元D.函数的形参和实参分别占用不同的存储单元参考答案:D13.已知字符‘A’的ASCⅡ代码值是65,字符变量c1的值是‘A’,c2的值是‘D’。
C语言程序设计50例(经典收藏)
C语言程序设计50例(经典收藏)各位读友大家好,此文档由网络收集而来,欢迎您下载,谢谢C语言程序设计50例(经典收藏)【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
2.程序源代码:复制代码代码如下:#include ““#include ““main(){int i,j,k;printf(“\n”);for(i=1;i2) /*如果是闰年且月份大于2,总天数应该加一天*/sum++;printf(“It is the %dth day.”,sum);getch();}============================== ============================== ==【程序5】题目:输入三个整数x,y,z,请把这三个数由小到大输出。
1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z 则将x与z的值进行交换,这样能使x 最小。
2.程序源代码:复制代码代码如下:#include ““#include ““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);getch();}============================================================ ==【程序6】题目:用*号输出字母C的图案。
(完整版)C语言试卷及答案
(完整版)C语言试卷及答案一、选择题(每题2分,共40分)1、C语言源程序的基本单位是( )A.程序行B.语句C.函数D.字符2、C语言规定:在一个源程序中,main函数的位置()。
A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后3、在下列字符列中,合法的标识符是( )A.p12&.aB.stud_100C. water$12D.88sum4、在C语言中,要求运算的数必须是整数的运算符是()A./B.!C.%D.= =5、设有语句 int a =3;则执行了语句a + = a - = a*a;后,变量a 的值是()A、3B、0C、9D、-126、设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a > b)&&(n=c>d)后n的值为()A、1B、2C、3D、47、执行下列程序时输入:1234567,程序的运行结果是()main(){int x,y;scanf(“%2d%*2c%1d”,&x,&y);printf(“%d\n”,x+y);}A.17B.46C.15D.98、下述程序的输出结果是() #includevoid main(){int x=-1,y=4;int k;k=++x<=0&&!(y--<=0);printf("%d,%d,%d",k,x,y);}A.0,0,3B.0,1,2,C.1,0,3,D.1,1,29、为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。
A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if10、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()main(){int x;scanf(“%d“,&x);if(x++>5)printf(“%d”,x);else printf(“%d\n”,x--);}A.7和5B.6和3C.7和4D.6和411、若变量c为char类型,能正确判断出c为小写字母的表达式是( )A. 'a'<=c<= 'z'B. (c>= 'a')||(c<= 'z')C. ('a'<=c)and ('z'>=c)D. (c>= 'a')&&(c<= 'z')12、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是。
C语言课后作业50(附参考答案)
1.输入一个不超过五位的正整数,输出其逆数。
例如输入12345,输出应为54321。
#include<stdio.h>main(){int s[5];int n,j;printf("请输入一个正的五位数");scanf("%d",&n);s[0]=n%10;printf("%d",s[0]);s[1]=(n%100-s[0])/10;printf("%d",s[1]);s[2]=(n%1000-s[0]-s[1])/100;printf("%d",s[2]);s[3]=(n%10000-s[0]-s[1]-s[2])/1000;printf("%d",s[3]);s[4]=(n%100000-s[0]-s[1]-s[2]-s[3])/10000;printf("%d",s[4]);printf("输出逆转后的5位数");for(j=0;j<=4;j++){printf("%d",s[j]);}}2.计算1+2+3…+n的值,n是从键盘输入的自然数。
#include <stdio.h>main(){int n;int i;printf("请输入一个自然数:");scanf("%d",&n);i=n*(n+1)/2;printf("输出1-n的自然数之和:%d\n",i);}3.从终端(键盘)读入20个数据到数组中,统计其中正数的个数,并计算这些正数之和。
#include <stdio.h>#define naxx 10main(){int s[naxx];int a[naxx];int i=0;int j=0;int l=0;int sum=0;int k;printf("请输入:");for(i=0;i<naxx;i++){scanf("%d",&s[i]);}for(j=0;j<naxx;j++){ if(s[j]>0){a[l]=s[j];sum+=a[l];l++;}}for(i=0;i<l;i++){ printf("%d\n",a[i]);}printf("输入数之和%d\n",sum);}4.从终端(键盘)将5个整数输入到数组a中,然后将a逆序复制到数组b中,并输出b中各元素的值。
C语言知识点1
C语言语言个)一选择题(50个)1. 在程序中可以用来作为变量名的合法的标识符是:___c_ A sta c B 23_b1 C stu_1t D #33 2. 下列运算符运算级别最高的是:__D_______ D ! A && B += C >= D ! 3 已知:char str1, str2[10]; 选择正确的输入语句选择正确的输入语句 :__D______ 选择正确的输入语句A scanf ("%s%c", &str1,str2); B scanf ("%s%s", &str1,str2); C scanf ("%c%c", &str1,str2); D scanf ("%c%s", &str1,str2); 4 选择正确的运行结果:___D ______ #include "stdio.h" main() { int a=1,b=10; do{ a++; b-=a; b--; }while(b>0); prin ("a=%d,b=%d",a,b); } A a=2,b=-1 B a=2,b=-2 C a=4,b=-1 D a=4,b= -2 5. 有一个二维数组s[3][4], 其第2行第3列元素的正确表示是:___B____ A *(*(s+2)+3) B *(s+2)+3 C s[2,3] D s[3][2] 6. 以下正确的描述是:___B______ A con nue 语句的作用是终止整个循环的执行。
语句的作用是终止整个循环的执行。
B con nue 语句的作用是结束本次循环的执行。
语句的作用是结束本次循环的执行。
C con nue 语句和break 语句都可以在switch语句中使用。
语句中使用。
c语言编程经典例题(1-50)
【程序 2】 题目:企业发放的奖金根据利润提成。利润(I)低于或等于 10 万元时, 奖金可提 10%;利润高于 10 万元,低于 20 万元时,低于 10 万元的 部分按 10%提成,高于 10 万元的部分,可可提成 7.5%;20 万到 40 万之间时,高于 20 万元的部分,可提成 5%;40 万到 60 万之间时高 于 40 万元的部分,可提成 3%;60 万到 100 万之间时,高于 60 万元 的部分,可提成 1.5%,高于 100 万元时,超过 100 万元的部分按 1% 提成,从键盘输入当月利润 I,求应发放奖金总数? 1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成 长整型。 2.程序源代码: main() { long int i; int bonus1,bonus2,bonus4,bonus6,bonus10,bonus; scanf(“%ld“,&i); bonus1=100000*0.1;bonus2=bonus1+100000*0.75; bonus4=bonus2+200000*0.5; bonus6=bonus4+200000*0.3; bonus10=bonus6+400000*0.15;
printf(“%c%c“,219,219); else
printf(“ “); printf(“\n“); } } ========================================================== 【程序 10】 题目:打印楼梯,同时在楼梯上方打印两个笑脸。 1.程序分析:用 i 控制行,j 来控制列,j 根据 i 的变化来控制输出 黑方格的个数。 2.程序源代码: #include “stdio.h“ main() { int i,j; printf(“\1\1\n“);/*输出两个笑脸*/ for(i=1;i〈11;i++) { for(j=1;j〈=i;j++) printf(“%c%c“,219,219); printf(“\n“);
c语言程序设计试题及答案
c语言程序设计试题及答案C语言程序设计试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个是合法的变量名?A. 2variableB. variable-nameC. variable_nameD. variable-2答案:C2. 以下哪个语句不是C语言中的输入语句?A. scanf("%d", &x);B. printf("%d", x);C. gets("string");D. getchar();答案:B3. C语言中,以下哪个不是标准库函数?A. printf()B. malloc()C. strcpy()D. main()答案:D4. 以下哪个选项是C语言中正确的数组声明?A. int array[];B. int [10] array;C. int array[10];D. int [10] = array;答案:C5. 以下哪个是C语言中正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello World"答案:C6. C语言中,以下哪个是正确的函数声明?A. int function();B. void myFunction(int x, int y);C. int myFunction(int x, int y) {}D. int myFunction(int x, int y) { return x + y; }答案:B7. 在C语言中,以下哪个是正确的条件语句?A. if (x = 5)B. if (x == 5)C. if (x = 5) { x++; }D. if (x == 5) { x++; }答案:D8. 在C语言中,以下哪个是正确的循环语句?A. for (int i = 0; i <= 10; i++) {}B. for (int i = 0; i < 10; i--) {}C. while (x != 0) { x--; }D. do { x++; } while (x != 0);答案:D9. 在C语言中,以下哪个是正确的指针声明?A. int *ptr;B. *int ptr;C. int ptr*;D. int * ptr;答案:A10. C语言中,以下哪个不是运算符?A. +B. -C. :D. *答案:C二、简答题(每题5分,共30分)1. 请简述C语言中数组和指针的区别。
C语言命令习题大全复习参考
C语言复习一、选择题(25*2分=50分)1.C语言可执行程序的开始执行点是。
A)程序中第一条可执行语句B)程序中第一个函数C)程序中的main函数D)包含文件中的第一个函数2.下列说法不正确的是________A)一个C语言程序可以由一个或多个函数组成B)C语言程序的基本组成单位是函数C)C程序总是从main函数开始执行,而不论main函数在整个程序中的位置如何;D )C语言注释只能位于一条语句后面3.一个完整的C源程序是________。
A)要由一个主函数(或)一个以上的非主函数构成B)由一个且仅由一个主函数和零个以上(含零)的非主函数构成C)要由一个主函数和一个以上的非主函数构成D)由一个且只有一个主函数或多个非主函数构成4.以下________不是算法的特征之一。
A)有穷性B)确定性C)有效性D)复杂性5.下面哪个表示浮点数的科学计数表示法是正确的?A)3e2.5 B)1.25e C)3.45e-5 D)e+86.请判断下列哪些用户自定义标识符是合法的?A)a&b,1_xy,e5,a.bB)exam,x1,int,defineC)ram,_mn,3ep,x*yD)ch,x_3_1,z2,num7.下列选项中,均可作为C语言用户标识符的是_________A dolla$ include scanfB _total **kdd printC average 2c sumD Y ear month _day8.设有如下定义:int x=10,y=3,z; 则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是________A 0B 1C 4D 39.设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为。
A)0 B)1 C)2 D)310.以下________是流程图的处理框。
c语言考试题型及答案
c语言考试题型及答案一、选择题1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个运算符用于计算两个整数的乘积?A. +B. -C. *D. /答案:C3. 下列哪个选项不是C语言的控制语句?A. ifB. forC. switchD. goto答案:D二、填空题1. 在C语言中,一个基本的数据类型是________。
答案:int2. 定义一个字符数组时,可以使用_______关键字。
答案:char3. 在C语言中,用_______关键字可以定义一个函数。
答案:void 或其他返回类型三、简答题1. 简述C语言中数组和指针的区别。
答案:数组是一种数据结构,用于存储具有相同类型的元素集合。
指针是一个变量,它存储了另一个变量的内存地址。
数组名在C语言中被解释为指向数组首元素的指针。
2. 描述C语言中函数的定义和调用过程。
答案:函数定义包括返回类型、函数名、参数列表和函数体。
函数调用则是在程序中使用函数名和相应的参数列表来执行函数定义的代码。
四、编程题1. 编写一个C语言程序,实现两个整数的加法,并输出结果。
```c#include <stdio.h>int add(int a, int b) {return a + b;}int main() {int num1, num2, result;printf("Enter two numbers: ");scanf("%d %d", &num1, &num2);result = add(num1, num2);printf("The sum is: %d\n", result);return 0;}```2. 编写一个C语言程序,实现字符串的复制功能。
```c#include <stdio.h>#include <string.h>void copyString(char *source, char *destination) { strcpy(destination, source);}int main() {char str1[50], str2[50];printf("Enter a string: ");fgets(str1, 50, stdin);copyString(str1, str2);printf("Copied string is: %s", str2);return 0;}```。
c语言程序基础练习题500道(附答案)
1.下列四组选项中,均不是C语言关健字的选项是( A )。
A) define B) gect C) include D) whileIF char scanf gotype printf case pow2.下面四个选项中,均是合法整型常量的选项是( A )。
A)160 B)-0xcdf C) -01 D)-0x48a-0xffff 01a 986,012 2e5011 0xe 0668 0x3.下面四个选项中,均是不合法的转义符的选项是( B )。
A) '\"' B) '\1011' C) '\011' D) '\abc''\\' '\' '\f' '\101''xf' '\A' '\}' 'x1f'4.下面不正确的字符串常量是( A )。
A)'abc' B)"12'12" C)"0" D)" "5.以下选项中不合法的用户标识符是( A )。
A)abc.c B)file C)Main D)PRINT6.C语言提供的合法关键字是( D )。
A) swithB) cherC) CaseD)default7.下列标识符组中,合法的用户标识符为 AA)_0123与ssipedB)del-word与signedC)list与*jerD) keep%与wind8.在C语言中,逻辑值"真"的表示是用( C )。
A) true B) 整型值0 C)非另整型值D) T9若有以下定义char s='\092';则该语句( b )A)使s的值包含一个字符B)定义不合法,s的值不确定C)使s的值包含4个字符D)使s的值包含3个字符10设C语言中,int类型数据占2个字节,则float类型数据占(D )个字节。
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 语言练习题(所提供的源程序均采用自定义函数方式解决,如不采用函数方式,也可直接在main 函数中借鉴该思想编程,因时间有限,所有程序未能一一验证,仅供参考使用) 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中。
C语言考试题
注:红色字体部分为题目答案,请大家不要弄错!!!一、单项选择题(每空1分,共50分)请将正确答案按【】中的序号写入答题卡,否则不得分。
2.以下标识符中,合法的变量名是【2】。
【2】A)x_1B)3x C)x-1 D)x.y3.判断char 型变量ch 是否为小写字母的正确表达式是【3】。
【3】A) (a<=ch) && (ch<=z) B) ('a'<=ch) && (ch<='z')C) (a<=ch) || (ch<=z) D) ('a'<=ch) || (ch<='z')4.C语言的下列运算符中,运算对象必须是整型数据的是【4】。
【4】A) / B) % C) && D) *5.若有以下说明语句,则该语句【5】。
char s='\062';【5】A) 使s的值包含1个字符B) 使s 的值包含3个字符C) 使s的值包含4个字符D) 说明不合法6.在C 语言中,逻辑“真”用【6】表示。
【6】A) FALSE B) TRUE C) 0 D) 17.不能正确表示的C语言表达式是【7】。
【7】A) a*b/c*d B) a/(c*d)*b C) a*b/c/d D) a*b/(c*d)8.若有定义:int a=7;float x= 2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是【8】。
A)2.500000B)2.750000 C)3.500000 D)0.0000009.执行下列程序段后,变量i的值是【9】。
int i=10;switch (i){case 10: i+=1;case 11: i+=1;case 12: i+=1;case 9: i+=1;}【9】A) 11 B) 12 C) 13 D) 1410.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是【10】。
C语言考试复习题及答案
一、单选题(请将正确答案写在答题纸,1~20题每题1分,21~35题每题2分,共50分)1. 下列关于C语言的说法不正确的是( D )。
A.C语言既具有高级语言的一切功能,也具有低级语言的一些功能B.注释可以出现在程序中任意合适的地方C.C语言中的每一条执行语句都必须用分号结束,分号是C语言的一部分D.定义函数的首行要加分号2. C语言程序的执行顺序是(B)。
A.从第一个函数开始执行B.从main函数开始执行C.从任意函数开始执行D.从第一条语句开始执行3. 以下关于注释的叙述,正确的是(D)。
A.注释参与编译,影响程序结果B.注释不参与编译,但影响程序结果C.注释参与编译,但不影响程序结果D.注释不参与编译,不影响程序结果4. 以下叙述正确的是(A)。
A.C语言程序可以在任意C编译器下编译B.C语言程序只能在TC环境下编译C.C语言程序只能在VC或TC环境下编译D.C语言程序只能在VC环境下编译5. C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符( B )。
A.必须为字母B.必须为下划线或字母C.必须为下划线D.可以是字母,数字和下划线中任一字符6. 下面四个数字常量选项中,书写均正确的是(D)。
A.016 0x8f 018 (零开头的是八进制,不能用8)B.0312 7ff -087(8进制没有符号)C.0xbc 0a7(8进制没有a)0xaD.070 0xf1 0x19(16进制以ox开头)7. 若有说明语句:char c=0x7f;则变量c(B)。
A.包含3个字符B.包含1个字符C.包含2个字符D.说明不合法,c的值不确定8. 设有int x=11;则表达式(++x*1/3)的值是( B )。
(11+1再除以3)A.3B.4C.11D.129. 阅读下面程序段,输出结果为( B )。
(z-a=25)#include "stdio.h"void main(){ char c;c=('z'-'a')/3+'A';putchar(c);}A.HB.JC.ID.K10. 若有定义和语句:int a=23,b=023; printf(“%x,%d \n”,a,b);输出结果是( D )。
大学c语言试题及答案
大学c语言试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个函数?A. structB. intC. floatD. void答案:B2. 在C语言中,以下哪个不是合法的标识符?A. _2mainB. mainC. 2mainD. main_答案:C3. 以下哪个选项不是C语言的基本数据类型?A. intB. charC. doubleD. string答案:D4. 在C语言中,哪个运算符用于计算两个整数的平均值?A. /B. +C. %D. /答案:D5. 以下哪个语句用于输入数据?A. scanf()B. printf()C. coutD. cin答案:A二、填空题(每题2分,共10分)1. 在C语言中,`printf("%d", x);` 用于输出变量x的________。
答案:整数值2. 如果要定义一个字符数组,可以使用关键字________。
答案:char3. C语言中,`for`循环的一般形式是:`for(________;________;________)`。
答案:初始化表达式;条件表达式;迭代表达式4. 在C语言中,`switch`语句中`case`后面跟的是________。
答案:常量表达式5. 使用`break`语句可以________`switch`或`for`循环。
答案:退出三、简答题(每题5分,共15分)1. 简述C语言中数组和指针的区别。
答案:数组是一种数据结构,可以存储相同类型的多个元素,而指针是一个变量,它存储的是另一个变量的内存地址。
数组名可以作为指针使用,但数组本身不是一个指针。
2. 解释C语言中的递归函数,并给出一个简单的例子。
答案:递归函数是在其定义中调用自身的函数。
例如,计算阶乘的函数可以递归地定义为:```cint factorial(int n) {if (n == 0) return 1;return n * factorial(n - 1);}```3. 描述C语言中结构体的定义和使用。
计算机系C语言编程50题(含答案)
1、输入1~10之间的一个数字,输出它对应的英文单词。
#include"stdio.h"main(){int x;printf("please input x(1-10):\n");scanf("%d",&x);switch(x){case 1:printf("one");break;case 2:printf("two");break;case 3:printf("three");break;case 4:printf("four");break;case 5:printf("five");break;case 6:printf("six");break;case 7:printf("server");break;case 8:printf("eight");break;case 9:printf("nine");break;case 10:printf("ten");break;}}2、用自然语言描述程序逻辑如下,试写程序。
①设置环境;②定义变量i、j、s,以及用于放置结果的变量sum,并令sum初值为0;③i=1;④如果i≤100,则转⑤,否则转⑧;⑤令s=0,求前i个自然数之和,并放于变量s之中;⑥sum=sum+s;⑦i增加1,转④;⑧输出和sum,结束。
#include"stdio.h"main(){int i,j,s;long sum=0;for(i=1;i<=100;i++){s=0;for(j=1;j<=i;j++){s=s+j;}sum=sum+s;}printf("sum=%d",sum);}3、用自然语言描述的程序逻辑为:(假设正确口令为123456)①设置环境;②定义变量i、flag和password,并令flag=0,i=0;③用户回答口令,将其赋于password变量;④口令正确?如果是,则flag=1,转⑥。
完整版C语言试卷及答案
完整版C语言试卷及答案一、选择题部分(每题1分,共30分)1. 下列选项中,不是C语言基本数据类型的是:A. intB. doubleC. charD. boolean2. 在C语言中,以下哪个用于定义常量的关键字?A. constB. staticC. finalD. define3. 下面哪个选项是正确的C语言注释格式?A. /** 注释内容 */B. // 注释内容C. /* 注释内容 */D. # 注释内容4. 下列选项中,不是C语言的逻辑运算符的是:A. &&B. ||C. !D. %5. 在C语言中,以下哪个函数用于输出信息到屏幕上?A. scanf()B. printf()C. gets()D. puts()二、填空题部分(每题2分,共20分)1. 在C语言中,用于声明变量的关键字是_________。
2. 在C语言中,用于取一个整数的绝对值的函数是_________。
3. 下面这段代码的输出结果是_________。
```c#include <stdio.h>int main(){int a = 10;int b = 20;printf("%d + %d = %d\n", a, b, a + b);return 0;}```4. 在C语言中,用于按位取反的运算符是_________。
5. 下面这段代码的循环次数是_________。
```c#include <stdio.h>int main(){int i;for (i = 0; i < 5; i++){printf("%d ", i);}return 0;}```三、编程题部分(共50分)1. 编写一个程序,输入一个整数n(n>0),输出1到n之间的所有偶数。
2. 设计一个函数,接收两个整数参数a和b,返回它们的最大公约数。
3. 编写一个程序,实现斐波那契数列的前n项的求和。
c语言知识题库(50道判断题)
1. C语言是编译型语言。
(对)2. 在C语言中,数组的索引是从1开始的。
(错)3. 在C语言中,所有变量必须在使用前先声明。
(对)4. C语言支持函数重载。
(错)5. C语言中,`/*...*/`用于单行注释。
(错)6. C语言中,字符常量用单引号括起来。
(对)7. C语言中,字符串常量用双引号括起来。
(对)8. 在C语言中,`int`类型变量的大小在所有平台上都是一样的。
(错)9. C语言中,`sizeof`运算符用于求变量或数据类型的大小。
(对)10. 在C语言中,`main`函数可以没有返回值。
(错)11. C语言中的`printf`函数用于输出信息到屏幕。
(对)12. C语言中的`scanf`函数用于从键盘输入信息。
(对)13. C语言中,指针变量存储的是变量的地址。
(对)14. C语言中,`*`运算符用于获取指针变量所指向的值。
(对)15. C语言中,数组名本身就是指针。
(对)16. C语言中,`&`运算符用于获取变量的地址。
(对)17. C语言中,字符串结尾是以'\0'标识的。
(对)18. C语言中,`malloc`函数用于动态内存分配。
(对)19. 在C语言中,不能对空指针进行解引用操作。
(对)20. C语言中,`free`函数用于释放动态分配的内存。
(对)21. C语言中的`enum`类型用于定义枚举。
(对)22. C语言中的`struct`用于定义结构体。
(对)23. C语言中的`union`和`struct`是相同的。
(错)24. C语言中,`void`表示无返回值的函数。
(对)25. C语言中,`const`关键字用于定义常量。
(对)26. C语言中,`#define`用于定义宏。
(对)27. C语言中,`#include`用于包含头文件。
(对)28. C语言中,`break`用于跳出当前循环。
(对)29. C语言中,`continue`用于跳过本次循环的剩余部分,直接开始下一次循环。
C语言基础题
第一单元C语言概述一、选择题1、C语言中主函数的个数为()个。
A)1 B)2C)无穷个D)任意个2、以下关于C语言描述错误的是()。
A)一个C程序总是从main函数开始执行B)每个语句和数据声明的最后必须有一个分号C)C语言的注释符是以“/*”开始并以“*/”结束的D)一个C程序可以包含多个main函数3、C 语言源程序文件后缀为()。
A)。
EXE B)。
OBJ C) 。
C D).ASM4、C语言是由()组成的.A)子程序B)主程序与子程序C)函数D)过程5、C语言属于()语言A)机器语言B)汇编语言C)高级语言D)面向对象语言第二单元C语言基础一、选择题1、C语言中普通整型变量int在内存中占()字节。
A)1 B)2 C)3 D)42、下列不是C语言基本数据类型的是().A)字符型B)整型C)浮点型D) 结构体3、有关自增、自减运算,以下只有()是正确的。
A)-—-f B)++78 C) a-b++ D) d++4、已知A=7.5,B=2,C=3。
6,表达式(A>B &&C>A) || (A<B &&!C〉B)的值是( )。
A)0 B)10 C)1 D)55、若有x=1,y=2,z=3,则表达式(x<y?x:y)= =z的值是( )。
A)1 B)2 C)3 D)06、判断char型变量ch是否为大写字母的正确表达式是()。
A) ‘A’<=ch<=‘Z' B) (ch>=‘A’)&(ch<=‘Z')C) (ch〉=‘A')&&(ch〈=‘Z’)D) (‘A’<= ch)AND(‘Z’〉= ch)7、判断整型变量digit是否为数字的正确表达式是()。
A) ‘0’〈=ch<=‘9' B)(ch>=‘0’)&(ch<=‘9')C)(ch>=‘0’)&&(ch<=‘9’)D)(‘0’〈= ch)AND(‘9’>= ch)8、一个C程序的执行是从()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7.求1!+2!+3!+……+20!,将结果输出。
#includevoid main(){float s=0,t=1;int n;for(n=1;n<=20;n++){t=t*n;s=s+t;}printf("1!+2!+3!+……+20!=%e\n",s);}8.打印以下图案: ****************#includevoid main(){int i,j;printf("The picture is:\n");static char picture[4][7]={{' ',' ',' ','*'},{' ',' ','*','*','*'},{' ',' *','*','*','*','*'},{'*','*','*','*','*','*','*'}}; for(i=0;i<=3;i++){for(j=0;j<=6;j++)printf("%c",picture[i][j]);printf("\n");}}10.求下列试子的值:1-1/2+1/3-1/4+……+1/99-1/100,将结果输出。
#includevoid main(){float sum=1.0,t,s=1;int i;for(i=1;i<=100;i++){t=s/i;sum=sum+t;s=-s;}printf("1-1/2+1/3-1/4+……+1/99-1/100=%5.4f\n",sum);}11.打印出100~999之间的所有水仙花数。
#includevoid main(){int i,j,k,n;printf("100~999之间的所有水仙花数 are:\n");for(n=100;n<1000;n++){i=n/100;j=n/10-i*10;k=n%10;if(n==i*i*i+j*j*j+k*k*k)printf("%d ",n);}printf("\n");}13.打印以下图案:****************************#includevoid main(){ char a[7]={'*','*','*','*','*','*','*'};int i,j,k;char space=' ';printf("The picture is:");for(i=0;i<4;i++){printf("\n");printf(" ");for(j=1;j<=i;j++)printf("%c",space);for(k=0;k<7;k++)printf("%c",a[k]); }printf("\n");}14.打印以下图案:112112321123432120.求一个4*3的矩阵各行元素的平均值;将原矩阵和求出的平均值全部输出。
#includevoid main(){ int a[4][3],s[4],i,j,k;for(i=0;i<4;i++)for(j=0;j<3;j++)scanf("%d",*(a+i)+j);for(i=0;i<4;i++){k=0;for(j=0;j<3;j++)k+=a[i][j];printf("第%d行的平均值是%d",i+1,k);printf("\n"); }}22.求一个3*5的矩阵各列元素的最大值,将原矩阵和求出的最大值全部输出。
#includevoid main(){ int a[3][5],s[3],i,j,k;for(i=0;i<3;i++)for(j=0;j<5;j++)scanf("%d",*(a+i)+j);for(i=0;i<3;i++){ *(s+i)= *(*(a+j));for(j=1;j<5;j++)if(*(s+i) < *(*(a+i)+j))*(s+i)= *(*(a+i)+j); }for(i=0;i<3;i++){ printf("Line=%d Max=%d",j,s[j] );printf("\n"); } }24.求一个M*N的矩阵中元素的最大值,将原矩阵和求出的最大值全部输出。
#define N 10#define M 10void main(){ int a[M][N],i,j,k[M],max,m,n;scanf("%d %d",&m,&n);for(i=0;ifor(j=0;jscanf("%d",*(a+i)+j);for(i=0;i{ for(j=0;j{if(a[i][j]<=a[i][j+1])max=a[i][j+1];elsemax=a[i][j];}k[i]=max; }for(i=0;i{if(k[i]<=k[i+1])max=k[i+1];elsemax=k[i];}printf("%d",max);}25.判断一个N*N的矩阵是否为对称矩阵,将原矩阵输出,判断结果输出。
#include#define N 10void main(){ int a[N][N],i,j,k,n;scanf("%d",&n);for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);for(i=0;i{ for(j=i+1;j{if(a[i][j]==a[j][i])k=1;elsek=0; } }if(k=0)printf("bushi");elseprintf("shi\n");for(i=0;ifor(j=0;jprintf("%d",a[i][j]);}27.将20个整数放到一维数组中,输出该数组的最大值和最小值。
#includevoid main(){ int i,j,min,max,a[21];printf("请输入数据:\n");for(i=1;i<=20;i++){ printf("a[%d]=",i);scanf("%d",&a[i]); }for(i=1;i<=19;i++){ min=i;for(j=2;j<=19;j++)if(a[min]>a[j]);a[min]=a[j]; }for(i=1;i<=19;i++){ max=i;for(j=2;j<=19;j++)if(a[max]a[max]=a[j]; }printf("最大数为:%d\n",a[max]);printf("最小数为:%d\n",a[min]);}33.编写程序,输入任意一个1~7之间的整数,将他们转换成对应的英文单词。
例如:1转换成Monday,7转换成Sunday。
#include<stdio.h>void main(){int a;printf("输入一个整数:\n");scanf("%d",&a);if(a==1) printf("Monday\n");else if(a==2) printf("Tuesday\n");else if(a==3) printf("Wendesday\n");else if(a==4) printf("Thursday\n");else if(a==5) printf("Friday\n");else if(a==6) printf("Saturday\n");else if(a==7) printf("Sunday\n");else printf("错误\n");}36.输入三角形的三边a,b,c,判断a,b,c,能否构成三角形,若能,计算面积。
#include<stdio.h>#include<math.h>void main(){float a,b,c,area;double s;scanf("%f,%f,%f",&a,&b,&c);if(a+b=<c||b+c=<a||a+c=<b)printf("They can't form a triangle.\n");else{ s=(a+b+c)/2.0;area=sqrt(s*(s-a)*(s-b)*(s-c));printf("The area of the triangle is:%f\n",area);}}#include<math.h>void main(){float a,b,c,area;double s;scanf("%f,%f,%f",&a,&b,&c);if(a+b>c&&b+c>a&&a+c>b){ s=(a+b+c)/2.0;area=sqrt(s*(s-a)*(s-b)*(s-c));printf("The area of the triangle is:%f\n",area);}elseprintf("They can't form a triangle.\n");}#include<stdio.h>#define N 10#define M 10void main(){ int i,j,k,m,n,flag1,flag2,a[N][M],max,maxj;printf("输入行数n[n<10]:");scanf("%d",&n);printf("输入列数m[m<10]:");scanf("%d",&m);for(i=0;i<n;i++){ printf("第%d行\n",i+1);for(j=0;j<m;j++)scanf("%d",&a[i][j]); }37. 输入三角形的三边a,b,c,判断a,b,c,能否构成三角形,何种类型的三角形:等腰、等边、直角、等腰直角、一般。