C语言编程测试题
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语言编程(20题)

1.请编写一个函数fun,其功能是:删除字符串中的数字字符。
例如,输入字符串为:48CTYP9R6,则输出:CTYPR。
部分源程序已经给出,请勿改动主函数的内容。
main(){ char item[100];gtes(item);fun(item);printf(“The string:%s\n”,item);}解答:#include<stdio.h>#include<string.h>void fun(char s[]){int i,j;for(i=j=0;s[i]!='\0';i++)if(s[i]>='0' && s[i]<='9') i++;elses[j++]=s[i]; s[j]='\0';}main(){ char item[100];gets(item);fun(item);printf("The string:%s\n",item); }2. 从键盘上读入一字符串存入字符数组xx中,请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应位置上,最后调用函数WriteDat()将结果xx输出。
替代关系如下:f(p)=p*11%256其中,p是数组xx中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符的ASCII值是偶数或计算后f(p)值小于32,则该字符不变,否则用f(p)所对应的字符进行替代。
设字符串的长度小于80个字符,部分源程序已给出。
除增加必要的数据定义、函数参数外,请勿改动主函数的内容。
#include <stdio.h>main(){ char xx[80];gets(xx);encryptChar();WriteDat();}解答:#include<stdio.h>#include<string.h>void encryptChar(char a[]) {int i,j;for(i=j=0;a[i]!='\0';i++) if(a[i]%2==0 ||(a[i]*11%256<32))a[j++]=a[i];elsea[j++]=a[i]*11%256; } WriteDat(char a[]) {puts(a);}main(){ char xx[80];gets(xx);encryptChar(xx); WriteDat(xx);} _3. 设有数组:int a[10]={6012,5099,9012,7025,8088,9096,8080,3046,5082,2345};请编制函数jssort(),其功能是:要求按每个数的后三位的大小进行升序排序,然后调用函数WriteDat()将结果输出。
c语言编程题库100题

c语言编程题库100题1. 计算两个整数的和编写一个C程序,接收两个整数作为输入并计算它们的和,并将结果输出。
2. 计算两个整数的差编写一个C程序,接收两个整数作为输入并计算它们的差,并将结果输出。
3. 计算两个整数的乘积编写一个C程序,接收两个整数作为输入并计算它们的乘积,并将结果输出。
4. 计算两个整数的商编写一个C程序,接收两个整数作为输入并计算它们的商,并将结果输出。
5. 判断一个整数是否为偶数编写一个C程序,接收一个整数作为输入并判断它是否为偶数,并将结果输出。
6. 判断一个整数是否为质数编写一个C程序,接收一个整数作为输入并判断它是否为质数(只能被1和自身整除的数),并将结果输出。
7. 计算一个整数的阶乘编写一个C程序,接收一个整数作为输入并计算它的阶乘,并将结果输出。
8. 计算一个整数的平方根编写一个C程序,接收一个整数作为输入并计算它的平方根,并将结果输出。
9. 判断一个字符串是否为回文字符串编写一个C程序,接收一个字符串作为输入并判断它是否为回文字符串(正向和反向读取都相同的字符串),并将结果输出。
10. 排序一个整数数组编写一个C程序,接收一个整数数组作为输入并对其进行排序,并将结果输出。
11. 求两个整数之间的最大公约数编写一个C程序,接收两个整数作为输入并计算它们的最大公约数,并将结果输出。
......(依此类推,共100道题)这是一个C语言编程题库,包含100道不同类型的题目。
你可以选择其中的题目进行练习和实践,通过解决这些问题来提升自己的C语言编程能力。
每道题目都有具体的描述和要求,你可以按照题目要求编写相应的代码,并运行测试。
如果遇到问题,可以参考相关的解法或向他人寻求帮助。
通过不断地练习和学习,你将逐渐掌握C语言的编程技巧和思维方式,提高自己在编程领域中的能力。
祝你编程愉快!。
经典练习C语言编程的题目及答案整理

1.逆序输出正三位数#include <stdio.h>int main(){int input,output= 0;scanf("%d",&input);while(input != 0){output = output*10 + input%10; input /= 10;}printf("%d\n",output);return 0;}2.百元找零函数#include <stdio.h>int main(){int amount=100;int price=0;printf("请输入金额(元)");scanf("%d",&price);printf("请输入票面");scanf("%d",&amount);int change=amount-price;printf("找您%d元。
\n",change);return 0;}3.求平均数#include <stdio.h>int main(){int a,b;scanf("%d %d",&a,&b);double c=(a+b)/2.0;/*scanf("%d",&amount);这是注释,我随便放的,没意义int change=amount-price;*/printf("%d和%d的平均值是%f\n",a,b,c);return 0;}4.写出程序的输出:int i=1;switch(i/3){case0:printf("zero");case1:printf("one");case2:printf("two");}正确答案是:zeroonetwo。
C语言测试题三

测试题三一、填空1、以下选项中合法的变量是()A、 5aB、_10_C、A%D、sizeof2、有以下程序main(){ int x=35, B; char z='B' ;B = (( x ) && ( z <'b' ));printf("%d\n", B ); }程序运行后的输出结果是()A、1B、0C、35D、663、有以下程序main(){ int a = 3;do{ printf("%d,", a-=2 ); }while( ! (--a) );printf("\n"); }程序运行后的输出结果是A、1B、1, -2C、3,0D、1,04、有以下程序main(){ int a[3]={0}, i, j, k=2;for( i=0; i<k; i++ )for( j=0; j<k; j++ ) a[j] = a[i]+1; printf("%d\n", a[1] );}程序运行后的输出结果是A、0B、2C、1D、35、有以下程序#include <stdio.h>#define SUB( X, Y ) (X+1)*Ymain(){ int a=3, b=4;printf("%d\n",SUB(a++ ,b++ ));}程序运行后的输出结果是A、25B、20C、12D、166、有如下程序int sum(int a, int b){return a + b - 2;}main(){int i;for (i=0; i<5; i++)printf("%d", sum(i, 3));printf("\n");}程序运行后的输出结果是A、12345B、01234C、45678D、543217、有以下函数int fun( char *s, char *t ){ while(( *s )&&( *t ) && (*t++ == *s++ ) );return (*s-*t);}函数的功能是A、比较两个字符串的大小B、求字符串的长度C、将字符串s复制到字符串t中D、连接字符串s和字符串t8、有以下程序#include <stdio.h>int m1(int x,int y){ return x<=y ? x :y; }int m2(int x,int y){ return x<=y ? y :x; }int fun(int a,int b){ return a+b; }main(){ int x=2,y=3,z=1;printf("%d\n", fun(m1(x,y),m2(y,z)));}程序的运行结果是A、3B、4C、5D、69、有以下程序#include <stdio.h>#define FNA(x) x*x#define FNB(x) x+xmain(){ int a=2,b=4;printf("%d,%d\n",FNA(FNB(a)),FNB(FNA(b)));}程序运行后的输出结果是A、8,32B、16,32C、8,16D、16,1610、有以下程序main(){ int c[6]={10,20,30,40,50,60}, *p,*s;p = c; s = &c[5];printf("%d\n", s-p ); }程序运行后的输出结果是A、6B、50C、5D、6011、有以下程序#include <stdio.h>main(){ int aa[3][3]={ {2},{4},{6} }, i, *p = &aa[0][0];for ( i=0; i<2; i++ ){ if( i == 0 ) aa[i][i+1] = *p + 1;else ++p;printf("%d ", *p );}}程序运行后的输出结果是A、2 6B、2 3C、4 3D、4 612、有以下程序int change(int* data){return (*data) ++;}main() {int data = 123;change(&data);printf("%d,", data);data = change(&data);printf("%d,", data); printf("\n");}程序运行后的输出结果是A、124,124,B、123,124,C、124,123,D、123,123,13、有以下程序void fun( int x, int y, int *z ){ *z = y-x; }main(){int a, b, c;fun(10,5,&a ); fun(7,a,&b ); fun(a,b,&c );printf("%d,%d,%d\n", a,b,c );}程序运行后的输出结果是A、-5,-12,-7B、5,2,3C、-5,-12,-17D、5,-2,-714、有以下程序#include <stdio.h>int k=5;void f(int *s){ s=&k;*s=k;}main( ){ int m=3;f(&m);printf("%d,%d\n", m, k);}程序运行后的输出结果是A、3,3B、5,5C、3,5D、5,315、有以下程序#include <stdio.h>#include <string.h>main( ){ char a[20]="ab",b[20]="cdef";int k=0;strcat(a,b);while(a[k]!='\0') { b[k]=a[k]; k++;}puts(b);}程序的运行结果是A、abcdefB、cbcdefC、cdefD、ab二、看程序写结果1、main(){int a = 0, b = 1;if (a++ && b++)printf("T");elseprintf("F");printf("a=%d,b=%d\n", a, b);}程序运行后的输出结果是2、void fun ( int *s ){static int j=0;do s[j] += s[ j+1]; while(++j<2);}main(){int i, a[10]={1,2,3,4,5};for( i=1; i<3; i++ ) fun( a );for( i=1; i<5; i++ ) printf("%d",a[i]);printf("\n"); }3、void change(int* array, int len){for (; len>=0; len--)array[len] += 2;}main() {int i, array[5] = {1,2};change(array, 4);for (i=0; i<4; i++)printf("%d,", array[i]);printf("\n");}4、void fun( int *s, int n1, int n2 ){int i,j,t;i=n1; j=n2;while( i<j ){ t=*(s+i); *(s+i)=*(s+j); *(s+j)=t;i++; j--;}}main(){int a[10] = { 1,2,3,4,5,6,7,8,9,0} ,i, *p = a;fun( p,0,3 ); fun( p,4,9 ); fun( p,0,9 );for( i=0; i<10; i++ )printf("%d ", *( a+i ) );printf("\n" );}程序运行后的输出结果是5、main(){char *s="120119110";int n0,n1,n2,nn,i;n0=n1=n2=nn=i=0;do{switch(s[i++]){ default : nn++;case '0' : n0++;case '1' : n1++;case '2' : n2++;}} while(s[i]);printf("n0=%d,n1=%d,n2=%d,nn=%d\n",n0,n1,n2,nn);} 程序的运行结果是6、void f(int x[], int n){ if ( n > 1){ printf("%d,", x[0]);f(&x[1], n-1);printf("%d,", x[0]);}elseprintf("%d,", x[0]);}main( ){ int z[3] = {4, 5, 6};f(z, 3);printf("\n"); }程序运行后的输出结果是三、填空1、以下程序的功能是:通过调用calc函数,把所求得的两数之和值放入变量add 中,并在主函数中输出。
c语言编程练习题

1. 从键盘输入一个大写字母,要求改用小写字母输出,并输出与这个小写字母相邻的两个字母及它们的ASCII码的值样例输入:B样例输出:b a c98 97 99测试输入:D测试输出:d c e100 99 101#include<stdio.h>int main(){char s1,s2,s3;int a,b,c;scanf("%c",&s1);s1=s1+32;s2=s1-1;s3=s1+1;a=s1;b=s2;c=s3;printf("%c %c %c\n",s1,s2,s3);printf("%d %d %d\n",a,b,c);return 0;}2. 输入两个整数,并将其中较大的显示出来。
样例输入:5 4样例输出:max=5测试输入:2 8测试输出:max=8#include<stdio.h>int main(){int a,b,max=0;scanf("%d%d",&a,&b);max=a;if(a<b)max=b;printf("%d\n",max);return 0;}精选文库3. 输入a,b,c三个整型变量的值,输出其中的最小值。
样例输入:5 4 8样例输出:4测试输入:2 6 8测试输出:2#include<stdio.h>int main(){int a[3],i,j,t;for(i=0;i<3;i++)scanf("%d",&a[i]);for(i=0;i<3;i++)for(j=i+1;j<3;j++){if(a[i]>a[j]){t=a[i];a[i]=a[j];a[j]=t;}}printf("%d\n",a[0]);return 0;}4. 输入年号y,月份m,输出该年该月天数。
C语言测试题及答案

C语言测试题及答案一、单选题(每题3分)1、下列语言不属于计算机语言的是()A、机器语言B 、汇编语言C 、高级语言D、低级语言(正确答案)2、下列不属于C 语言的特点的是()A、是一种结构化语言B、表现能力和处理能力较差(正确答案)C 、效率高,移植性强D、可直接访问内存物理地址3、C 语言程序能够在不同的操作系统下运行,这说明其具有良好的()A 、兼容性B、操作性C 、适应性D、移植性(正确答案)4、下列关于C语言的说法,正确的是()A、C语言比其他语言高级B 、C语言源程序可以直接被计算机执行C 、C语言出现最晚,各方面优于其他语言D 、C语言是用接近人们习惯的自然语言和数学语言作为语言的表达形式(正确答案)5、以下不是C 语言中的关键字的是()A 、elseB 、shortC、true(正确答案)D 、void6、C 程序经过编译、链接后生成的可执行文件的扩展名是()A 、.cB 、.objC、.exe(正确答案)D 、.syS7、把高级语言编写的源程序转换为目标程序,需要使用()A、驱动程序B、编辑程序C、诊断程序D、编译程序(正确答案)8、C 语言程序的执行,总是起始于()A、程序中的第一条可执行语句B、程序中的第一个函数C、main()函数(正确答案)D、包含文件中的第一个函数9、以下叙述中,正确的是()A、语句是构成(正确答案)C程序的基本单位B 、一个函数可以没有参数C 、main() 函数必须放在其他函数之前D、所有被调用的函数一定要在调用之前进行定义10、构成C语言程序的基本单位是()A 、语句B、函数(正确答案)C 、过程D 、复合语句11、计算机能直接识别的语言是()A 、机器语言(正确答案)B 、汇编语言C 、C语言D 、高级语言12、下列说法错误的是()A 、C程序中的每条语句都用分号作为结束符B 、C程序中的每条命令都用分号作为结束符(正确答案)C、C 程序中的变量遵循先定义,后使用的原则D 、C程序一般以小写字母书写,并且区分大小写13、下面有关C程序的说法中,正确的是()A 、C程序由符号构成B、C 程序由标识符构成C 、C程序由函数构成(正确答案)D 、C程序由C语句构成14、C语言中所有的关键字必须()A、小写(正确答案)B、大写C 、大小写均可D 、C语言中没有保留字15、在结构化程序中应尽量避免使用的语句是()A 、whileB 、do……whileC 、forD 、goto(正确答案)16、下列是C 语言的关键字是()A 、bacB 、IntC、char(正确答案)D 、Printf17、在每一个C程序中都必须包含的函数是()A 、nameB、main(正确答案)C 、MainD 、function18、以下叙述中,正确的是()A、花括号{}只能作为函数体的定界符B 、分号是C语句之间的分隔符,不是语句的一部分C 、C程序中注释部分可以出现在程序中任意合适的地方(正确答案)D、构成C程序的基本单位是函数,所有函数的命名都可以由用户命名19、以下选项中不属于C语言的数据类型的是()A 、signed short intB 、unsigned long intC 、unsigned intD 、long short(正确答案)20、下列能实现换行功能的格式符为()A 、”\t’B、’\n’(正确答案)C 、’\a'D 、’\k’21、下列不正确的转义字符是()A 、’\W”B、\”C 、’\0'D、’074’(正确答案)22、下列正确的字符串常量是()A、”W”(正确答案)B 、'abc’C 、Olympic GamesD 、’\n'23、在C 语言中,数字029是一个()A、八进制数B、十六进制数C、十进制数D、非法数(正确答案)24、下列的变量说明中,正确的是()A 、int i=j=1;B 、double float f,d;C、double a; (正确答案)D 、char:I;25、下列是合法的用户定义标识符是()A、908B 、putcharC、P_S (正确答案)D 、double26、以下C 语言标识符合法的是()A 、-5XB、name_1 (正确答案)C 、bow-1D 、#2327、假如给变量a和b都定义为浮点型,则下列正确的定义是()A 、int a;b;B 、float a,int b;C 、float a,b; (正确答案)D 、float a;b;28、已知int a=2;,则表达式(a+’E'-’A’)*3的值是 ( )A 、8B 、12C、18(正确答案)D 、2029、下列程序中不正确的语句是()A 、main(B 、int a,b,c:C、a=22:b=33 (正确答案)D 、{c=a+c;}30、下列各项中非法的赋值语句是()A、j++:B 、++(i+3 ); (正确答案)C 、x=j>0;D、n=(i=2,i++):二、判断题(每题1分)1、计算机可以直接识别C 语言程序语句。
c语言入门试题及答案

c语言入门试题及答案一、选择题1. 下列哪个是C语言的关键字?A) mainB) outputC) printD) if答案:D2. 在C语言中,用来声明整型变量的关键字是?A) intB) charC) floatD) double答案:A3. 下列哪个符号用于表示“等于”?A) ==B) !=C) >答案:A4. 在C语言中,用来表示字符类型的关键字是?A) intB) charC) floatD) double答案:B5. 下列哪个函数可以输出文本到屏幕上?A) scanfB) getcharC) printfD) gets答案:C二、填空题1. C语言中,整型变量的大小为________个字节。
答案:42. 下列代码的运行结果是什么?int x = 5;int y = 2;printf("%d", x % y);```答案:13. C语言中,用于标识单行注释的符号是________。
答案://4. 下列代码的运行结果是什么?```char name[10] = "John";printf("%s", name);```答案:John三、编程题1. 编写一个程序,接收用户输入的两个整数,并计算它们的和。
```c#include <stdio.h>int main() {int num1, num2;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);int sum = num1 + num2;printf("它们的和为:%d\n", sum);return 0;}```2. 编写一个程序,判断一个输入的整数是否为偶数。
```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("%d是一个偶数。
c语言测试题

c语言测试题1.题目一编写一个C语言程序,要求从键盘输入两个整数,然后输出它们的和。
解答:```c#include <stdio.h>int main() {int num1, num2;printf("请输入两个整数: ");scanf("%d %d", &num1, &num2);int sum = num1 + num2;printf("两数之和为:%d\n", sum);return 0;}```2.题目二编写一个C语言程序,要求从键盘输入一个整数,然后判断它是否为素数。
解答:```c#include <stdio.h>int isPrime(int num) {if (num <= 1) {return 0;}for (int i = 2; i * i <= num; i++) { if (num % i == 0) {return 0;}}return 1;}int main() {int num;printf("请输入一个整数: ");scanf("%d", &num);if (isPrime(num)) {printf("%d是素数\n", num);} else {printf("%d不是素数\n", num);}return 0;}```3.题目三编写一个C语言程序,要求实现冒泡排序算法对一个数组进行排序。
解答:```c#include <stdio.h>void bubbleSort(int arr[], int size) {for (int i = 0; i < size - 1; i++) {for (int j = 0; j < size - i - 1; j++) {if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}}void printArray(int arr[], int size) {for (int i = 0; i < size; i++) {printf("%d ", arr[i]);}printf("\n");}int main() {int arr[] = {5, 2, 9, 1, 3};int size = sizeof(arr) / sizeof(arr[0]); printf("排序前的数组: ");printArray(arr, size);bubbleSort(arr, size);printf("排序后的数组: ");printArray(arr, size);return 0;}```以上是三个C语言测试题的解答,分别涉及输入输出、数学运算和数组排序等。
C语言测试题及答案

一、选择题1.语句int a=10,*point=&a; D 其值不为地址。
A. pointB. &aC. &pointD. *point2.若p为指针变量,y为变量,则y = *p++;的含义是 A A.y=*p;p++ B.y=(*p)++ C.y=p;p++ D.p++;y=*p 3.语句char str[]=”visual C++”;char *p=str;则p的值为 BA. ”visual C++”B.str的首地址C. \nD.”v”4.设有说明语句char *s[]={“student”,”Teacher”,”Father”,”Month”}, *ps=s[2];执行语句:printf(“%c,%s,%c”,*s[1],ps,*ps);则输出为AA.T,Father,FB.Teaher,F,FatherC. Teacher,Father,FatherD.语法错,无输出5.下列说明或赋值语句,不正确的是 CA. char *p;p=”Visual C++”;B. char p1[12]={‘v’,’i’,’s’,’u’};C. char p2[12];p2=”Visual C++”D. char p3[]=”Visual”;6.现有int b[3][4],*p;p=(int *)b;若要指针p指向b[2][3],以下正确的是 BA.p+=3*4+3B.p+=2*4+3C. p+=(3*4+3)*sizeof(int)D.p+=(2*4+3)*sizeof(int)7.语句int i,*p1,**p2;以下语句语法不正确的是 BA.p1=&i;B. p2=&i;C.p2=&p1;D.i=’\0x23’;8.如下图结构体说明和变量的定义,p指向a,q指向变量b.下面不能..把结点b连接到结点a之后的语句是 BC. p->next=&b;D.(*p).next=q;9.下面正确的语句是 AA. int a[3][4],(*p)[4]; p=a;B. int a[3][4],*p[4]; p=a;C. int a[3][4],*p; p=a;D. int a[3][4],**p;*p=a;10.以“追加”方式打开文本文件a:\aa.dat,下列语句中哪一个是正确的是 BA.fp=fopen("a:\\aa.dat","ab");B. fp=fopen("a:\\aa.dat","a");C. fp=fopen("a:\\aa.dat","r+");D. fp=fopen("a:\\aa.dat","w");11.设有函数定义:int f1(void){return 100,150;}调用函数f1()时, BA.函数返回值100B. 函数返回值150C. 函数返回二个值100和150D. 语句return 100,150;语法错.12.数组作为函数的形参时,把数组名作为实参,传递给函数的是 AA.该数组的首地址B. 该数组的元素个数C. 该数组中的各元素值D. 该数组的大小13.执行以下语句序列:则 Aenum {Sun,Mon,Tue,Wed,Thu,Fri,Sat}c1,c2; //Ac1=Mon; //Bprintf(“%d”,c1);A.输出1B.输出2C.输出0D. B行语法错14.执行以下语句序列:则 Cchar *p1=”Speaking”; //Achar *p2=”English”; //Bchar *p3=”a piece of cake”; //Cchar *str[]={p1,p2,p3}; //Dprintf(“%c”,*(str[0]+1));A.输出EnglishB.输出SpeakingC.输出pD. D行语法错二、填空题1.(2*2分=4分)下面程序的运行结果为16 、 2void main( ){static int a[3][2]={{12},{14,16},{1,2}};int *p=a[1];printf(“%d\n”,*(p+1));printf(“%d\n”,*(p+3));}2.(2*2分=4分)若有以下程序段,则*(*(b+2)+1)的值为11 ,*(*(p+1)+1)的值为7static int b[3][2]={1,3,5,7,9,11};int (*p)[2];p=b;3.(1*4分=4分)下面程序的运行结果为26#include<stdio.h>void sub(int *x,int i,int n){if(n<=i)sub(x,i,3*n);*x+=n++; //相当于*x=*x+(n++)}void main( ){int x=0;sub(&x,12,2);printf(“%d”,x);}4.(2*2分=4分)以下程序运行结果为_ Hello,world _、ello,world void main(){char *p,*q;char str[]="Hello,World\n";q = p = str;p++;printf(“%s\n”,q);printf(“%s\n”,p);}5. (1*4分=4分)以下程序运行结果是__121232343454_________ void main(){short ar[5]={1,2,3,4,5 };short * par=&ar[1];int i;for(i=0; i<4; i++){printf(“%d %d %d”,ar[i],par[i],*(ar+i));}}6.(2*2分=4分) 以下程序运行结果是__200 100_____void swap2(int *x,int *y){int t;t=*x;*x=*y;*y=t;}void main( ){ int a=100,b=200;swap2(&a,&b);printf(“%d\t%d”,a,b);}7.(3*2分=6分)void fun(int n, int *s){ int f1,f2;if(n= =1||n= =2)*s=1;else{fun(n-1,&f1);fun(n-2,&f2);*s=2*f1+f2+1;printf(“%d\t%d\n”,f1,f2);}}void main( ){ int x;fun(4,&x);printf(”x=%d\n”,x);}程序输出的第一行是1 1 第二行是4 1 最后一行是x=108. (3*2分=6分)void f(int *q1,int *q2,int *q3){*q3=*q1+*q2;}void main( ){ int i,j,a[3][3]={1,1},*p1=a[0],*p2=a[0]+1,*p3=a[0]+2;for(i=2;i<9;i++)f(p1++,p2++,p3++);for(i=0;i<3;i++){ for(j=0;j<3;j++)printf(“%d”,a[i][i]);printf(’\n’);}}程序输出的第一行是111 第二行是555 最后一行是343434 9.(2*3分=6分)int f(int x,int y){return x*y;}void main( ){ int i,j,(*fun)(int,int);fun=f;for(i=1;i<4;i++){ switch(i){case 1:case 2: j=(*fun)(i,i+1);break;case 3: j=(*fun)(i-1,i+2);break;}printf(”j=%d”,j);}}程序输出的第一行是j=2 第二行是j=6 最后一行是j=10三、完善程序1.(2*3分=6分)以下min 函数的功能是:在非空单向链表中查找结点数据域为最小的值,并作为函数返回值.链表如下.struct NODE{int data;NODE *next;};int min(NODE *first){NODE *p;int m;p=first;m=p->data;for(p=p->next;p!=NULL;p= p->next)if(m> p->data)m=p->data;return m;}2.(3*2分=6分)以下程序求二维数组的平均值float average(float (*p)[4],int n){float sum=0;for(int i=0; i<n ;i++){for(j=0;j<4;j++)sum+= (*p)[j] 或 *(*p+j) ;p++;}return sum/(n*4);}void main( ){ float score[3][4]={{56,65,70,76},{89,97,52,81},{90,99,91,86}};printf(”平均值=%f ”,average(score, 3 ));}3. (2*3.5分=7分)以下程序实现将以L 为头指针的链表逆置(设结点个数n>2),即将链表头当链表尾,链表尾当链表头。
C语言测试题(附有详细解析)

C语言测试题(附有详细解析)一、选择题1. 下面哪个选项是C语言的合法标识符?A. voidB. 2varC. intD. _temperature解析:C语言的标识符必须以字母或下划线开头,后面可以跟字母、数字或下划线。
选项A和C是C语言的关键字,不能作为标识符。
选项B以数字开头,不合法。
选项D符合标识符的规则,是正确的。
2. 在C语言中,哪个关键字用于定义整型变量?A. floatB. intC. doubleD. char解析:在C语言中,关键字`int`用于定义整型变量。
选项A 用于定义浮点型变量,选项C用于定义双精度浮点型变量,选项D用于定义字符型变量。
因此,正确答案是B。
3. 下面哪个选项是C语言中的逻辑运算符?A.++B. &&C. ||D. !=解析:C语言中的逻辑运算符包括`&&`(逻辑与)和`||`(逻辑或)。
选项A是自增运算符,选项D是不等于运算符,因此正确答案是B和C。
二、填空题4. 下面代码的输出是什么?```c#include <stdio.h>int main() {int x = 5;printf("%d\n", x++);return 0;}```解析:这段代码的输出是5。
在`printf`语句中,`x++`是后缀自增运算符,它先输出x的当前值5,然后x的值增加1。
因此,输出为5。
5. 下面代码的输出是什么?```c#include <stdio.h>int main() {int x = 5, y = 10;printf("%d\n", x > y ? x : y);return 0;}```解析:这段代码的输出是10。
条件运算符`?:`是一个三元运算符,它根据第一个表达式的值来选择第二个或第三个表达式。
在这个例子中,`x > y`是假的,所以输出是`y`的值,即10。
C语言基础知识测试题-全面完整

基础知识测试题一.单项选择题1.以下不正确的C语言标识符是(D )A. ABCB. abcC. a_bcD. ab.c2.以下正确的C语言标识符是( C)A. %xB. a+bC. a123D. test!3.一个C语言程序的执行是从(A )。
A. main( )函数开始,直到main( )函数结束B. 第一个函数开始,直到最后一个函数结束C. 第一个语句开始,直到最后一个语句结束D. main( )函数开始,直到最后一函数结束4.在C语言程序中,main(C )的位置()。
A. 必须作为第一个函数B.必须作为最后一个函数C.任意D.必须放在它所调用的函数之后5.一个C语言程序是由(B )。
A. 一个主程序和若干个子程序组成B.一个或多个函数组成C.若干过程组成D.若干子程序组成6.C语言源程序的基本单位是(B)。
A. 过程B. 函数C. 子程序D. 标识符7.编辑程序的功能是(A)。
A. 建立并修改程序C.将C源程序编译成目标程序D.调试程序E.命令计算机执行指定的操作8.C编译程序是(D)。
A. C语言程序的机器语言版本B. 一组机器语言指.D. 将C源程序编译成目标程序的程序F. 由制造厂家提供的一套应用软件B9.不属于字符型常量的是( D )A.'A'B."B"C.'\n'D.'\x72'10 .设char ch; 以下正确的赋值语句是:(B )A.ch='123';B.ch='\xff';C.ch='\08';D.ch="\";11 .以下使i的运算结果为4的表达式是(D )A.int i=0,j=0;(i=3,(j++)+i);B.int i=1,j=0;j=i=((i=3)*2);C.int i=0,j=1;(j==1)?(i=1):(i=3);D.int i=1,j=1;i+=j+=2;A12 .若t为double类型,表达式t=1,t+5,t++的值是(D)A.1B.6.0 CC13.设整型变量m,n,a,b,c,d均为1,执行“(m=a>b)&&(n=a>b)”后m,n的值是( B)A.0,0B.0,1C.1,0D.1,1B14 .执行语句“x=(a=3,b=a--)”后,x,a,b的值依次为(CA.3,3,2B.3,2,2C.3,2,3D.2,3,2B15 .若a=1,b=2,c=3,d=4,则条件表达式a<b?a:a<d?c:d的值为(A )A.1B.2C.3D.416 .设int n=7;则++n+1= =9的结果是(C )A.trueB.falseC.1D.017 .设a=2,b=2;则++a+b的结果是(d),a的结果是(b),b的结果是(a)A.2B.3C.4D.518 .设a=2,则执行b=a==!a;语句后,b的结果是( A)A.0B.1C.2D.319 .设有以下语句,则c的二进制值是()char a=3,b=6,c;c=a^b<<2;A.00011011B.00010100C.00011100D.0001100020 .在C语言类型说明中,int、char、short等类型的长度是( A )A.固定的B.由用户自己定义的C.任意的D.与机器字的长度有关的二.填空题1.C语言中的标识符只能由三种字符组成,它们是、、。
C语言编程测试题

3.设计一个函数测试字符串的长度
4.编写一个判断素数的函数。在主函数打印出100~1000之间的所有素数
C语言编程测试题(五)
1.编写程序输出“九九乘法口诀表”
2.编写函数实现字符串的复制
3.将10个整数输入到一个数组中,然后在数组中查找给定的整数(要求使用指针实现)
4.设计结构体类型,用来组织学生的信息(学号、姓名、性别、出生日期、成绩)
3.从键盘上输入10个整数并输出这10个数中的最大数、最小数
4.请编写函数统计输入的一行中小写字母的个数(要求使用指针实现)
C语言编程测试题(三)
1.试判断从键盘输入的正整数是否能被5和7同时整除。能则输出“yes”,否则输出“no”
2.打印出所有的水仙花数。水仙花数是一个三位数且各位上的数字立方和等于该数本身。如153是一个水仙花数
C语言编数a、b、c,要求按大小顺序打印出来
2.打印出100~1000之间的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。如6=1+2+3
3.输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数
4.设计一个函数完成对10个整数进行排序(要求使用指针实现)
3.输出一个3行4列的矩阵中最大元素的值及其行下标和列下标
4.编写一个函数,对传送过来的三个数选出最大和最小数,并通过形参传回调用函数
C语言编程测试题(四)
1.计算e=1+1/1!+1/2!+?+1/n!,要求计算误差小于0.0001
2.将10个整数输入到一个数组中,然后再将其按输入顺序的逆序进行排列并输出(要求使用指针实现)
C语言编程测试题(二)
C语言程序设计试题_练习题

C语言程序设计试题_练习题一、选择题:(20分,每题2分)1.以下不正确的C语言标识符是()。
A.ABCB.abcC.a_bcD.ab.c2.C程序是由构成的。
A.主程序与子程序B.主函数与若干子函数C.一个主函数与一个其它函数D.主函数与子函数3.以下说法中正确的是:A.在C语言中,实参与其对应的形参各占独立的存储单元;B.在C语言中,实参与其对应的形参共占同一个存储单元;C.在C语言中,只有当实参与其对应的形参同名时,才共占同一个存储单元;D.在C语言中,形参是虚拟的,不占存储单元。
4.设n=3;则n++的结果是()。
A.2B.3C.4D.55.设整型变量n=10,i=4,则赋值运算n%=i+1执行后,n的值是()。
A.0B.1C.2D.36.凡是函数中未指定存储类别的局部变量其隐含的存储类别是()。
A.自动(auto)B.静态(tatic)C.外部(e某tern)D.寄存器(regiter)7.在while(某)语句中的某与下面条件表达式等价的是:A.某==0B.某==1C.某!=1D.某!=08.若有以下说明和语句:tructworker{intno;~char某name;}work,某p=&work;则以下引用方法不正确的是()。
A.work.noB.(某p).noC.p->noD.work->no9.以下对二维数组进行正确初始化的是()。
A.inta[2][3]={{1,2},{3,4},{5,6}};B.inta[][3]={1,2,3,4,5,6};C.int a[2][]={1,2,3,4,5,6};D.inta[2][]={{1,2},{3,4}};10.二维数组a有m列,则在a[i][j]之前的元素个数为:A)j某m+iB)i某m+jC)i某m+j-1二、给出下列程序的运行结果:(20分,前四题每题3分,后两题每题4分)1.#include<tdio.h>main(){inti=16,j,某=6;j=i+++1;某某=i=j;printf(“%d,%d\n”,j,某);}运行结果是:2.#include<tdio.h>#include<math.h>main(){inta=1,b=4,c=2;float某=10.5,y=4.0,z;z=(a+b)/c+qrt((double)y)某1.2/c+某;printf(“%f\n”,z);}运行结果是:3.#include<tdio.h>main(){inta,b,c,d;a=c=0;b=1;d=20;if(a)d=d-10;eleif(!b)if(!c)d=25;eled=15;printf(“d=%d\n”,d);}运行结果:4.main(){inti=10;witch(i){cae9:i+=1;cae10:i+=1;cae11:i+=1;}printf(“%d”,i);}运行结果:5.#include<tdio.h>main(){inta[]={1,2,3,4},i,j,=0;j=1;for(i=3;i>=0;i--){=+a[i]某j;j=j某10;}printf("=%d\n",);}运行结果:6.func(int某){某=20;}main(){int某=10;func(某);printf(“%d”,某);}运行结果:三、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。
(完整版)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语言试卷

;C 语言程序设计测试题姓名:成绩:一.填空:15 分1.在 scanf 函数的格式控制串中,转换说明符2.C 语言程序都是从3.函数体用4.c 语句都用5.标准库函数6.转义序列\n 表示、和函数开始执行。
结束。
结束。
在屏幕上显示信息。
符,它把光标定位在屏幕下一行的开始位置。
和 _____。
开始,用表示要输入一个整数。
7. 所有的程序都可以用三种控制结构编写。
这三种控制结构是8.用花括号组合在一起的多个语句称为9.10. 存储类别说明符有 auto、、循环结构在条件为真时反复执行一条语句或一组语句。
二.判断下述说法是否正断。
如不正确,说明理由,20 分。
1. printf 函数总是从新行的起始位置开始打印。
( )2. 计算机会把/*和*/之间的注释文本打印到屏幕上。
( )3. 在 printf 函数的格式控制串中使用转义序列\n 会把光标定位到屏幕上下一行的开始位置。
( )4. 所有的变量在使用前都必须予以声明。
( )5. 在声明变量时必须给出变量的类型。
( )6. C 语言认为变量 number 和 NuMbEr 是相同的。
()7. 声明语句可放在函数体中的任何位置。
()8. printf 函数的格式控制串之后的所有参数的前面都必须有&。
()9. 求余运算符%只能用于两个整数操作数。
()10. 算述运算*、/、+和一具有相同的优先级。
()三、选 择 题 , 30 分。
1. 在 C 语言中,不同类型数据混合运算时,要先转换成同一类型后进行运算。
设 一表达式中包含有 int 、long 、unsigned 、char 类型的变量和数据,则表达式最 后的运算结果是 A 、 intB 、 char类型数据。
C 、 unsignedD 、long。
D 、-1,655352. 若 int 型数据占 2 个字节,则以下语句的输出为int k=-1; A 、 -1,-1printf(“%d,%u\n”,k,k); B 、 -1,32767C 、-1,327683. 若 a, b 均为 int 型变量,x, y 均为 float 型变量,正确的输入函数调用 是。
C语言试题

C语言测试一、选择题1.选出作为C语言用户标识符的一组是()A.sum,define,WORDB. a1,-abc,CASEC. a3_b3,_123,maxD.Num1,2a,m_12.已知代码如下,则B的值为()#define A 5+3 #define B A*AA.23B. 19C. 64D.不确定3.若变量已正确定义并赋值,下面符合C语言语法的表达式()A.Int 18.5%3B. a=a+=c+bC. a:=b+1D. b=c+24.将整型变量a和b中的数进行交换,下面选项中,错误的是( )t=a;a=b;b=t B. t=b;b=a;a=t C. a=a+b;b=a-b;a=a-b D. a=t;t=b;b=a5. 表达式a=3*5,a*4,a+5的值为()A. 20B. 15C. 65D. 106. 设有int a=11;则表达式a++*1/3的值为()A. 4B.11C. 12D. 37. 以下程序代码运行后输出的结果是()main(){char c1=’6‘,c2=’0‘;printf(“%c,%c,%d,%d\n”,c1,c2,c1-c2,c1+c2);}A. 因输出格式不合法,输出出错信息B. 6,0,6,102C. 6,0,5,7D. 6,0,7,68. 关于putchar()函数,错误的是()A. putchar(‘\n’);B. putchar(‘a’)C. putchar(“97”);D. putchar(65)9. 有以下语句,输入“abc”,则输出的结果是()char ch;ch=getchar();putchar(ch);0A. a b cB. aC. 97D. abc10. 已知;a=2,b=3,c=4,则以下选项中值为0的表达式为()A. c>b>aB.aC. a+1==bD. c=b+111. 以下程序代码运行输出的结果是()main (){ int a=4,b=5,c=0,d;d=!a&&!b||!c;printf(”%d\n”,d);}A. 1B. aC. zD. Z12. 以下程序代码运行后输出的结果是()main(){int i,sum;i=2;sum=0;while(i<10);{sum+=I;printf(“%d\n”,sum);}A.0B. 20C. 死循环D. 程序错误13. 以下程序代码运行后输出的结果是()main(){int i,sum;i=10;while(i>=1){sum+=i;i--;}printf(”%d\n“,sum);}A.54B. 45C. 55D. 无法确定14.以下程序代码运行后输出的结果是()main(){int n=9;While(n>5){n--;printf(”%d“,n);}}A.876B. 8765C. 9876D. 98715. 以下程序代码运行后输出的结果是()main(){int i;for(i=1;i<=40;i++){if(i++%5==0)If(++i%8==0)printf(“%d”,i);}printf(“%d”,i);}printf(“\n”);}A.24B. 32C. 40D. 516. 若:int a=0,b,*p=&b,*q=&a;则下面赋值语句中与b=a;语句等价的是()A. p=q;B. p=*q;C. *p=&n1;D. *p=*q;17. 能正确表示逻辑关系;a大于等于10或a小于等于0的C语言表达式是()A. a>=10 or a<=0B. a>=10 && a<=0C. a≥0||a≤10D. a>=10||a<=018. 两次运行下面的程序,如果从键盘上分别输入6和4,则输出的结果是()main(){ int m;scanf(“%d”,m);if(m++>5)printf(“%d”,m);elseprintf(“%d\n”,m--);}A. 7和5B. 6和3C. 6和4D. 7和419. 以下程序代码运行后输出的的结果是()#include<stdio.h>{ int c=0,k;for(k=1;k<3;k++)switch(k){ default:c+=k;case 2;c++;break;case 4;c+=2;break;}printf(“%d\n”,c);}A. 5B. 3C. 9D. 720. 下列选项中能正确定义数组的语句是()A. int year[0…2012]B. int year[ ]C. int N=2012;D. #define N 2012int year [N]; int year [N];21. 以下能对一堆数组a进行正确初始化的语句是()A. int a[5]=(0,0,0,0,0);B. int a(5)={5};C. int a [ ]={1,2,3};D. int a[ ]={‘5*1’};22. 若有定义;int a=911,*b=&a;则printf(“%d\n”,*b);输出的结果是()A. 无确定B. 912C. 911D. a的地址是23. 执行以下程序段后,a的值为()int*p,a=10,b=5;p=&a;a=*p+b;A.15B. 10C. 5D. 编译出错24. 以下程序代码运行后,a的值为()main(){ int a,k=4,m=6;int *p1=&k;int *p2=&m;a=(p1==p2);printf(“%d\n”,a);}A. 1B. 0C. 4D. 运行时出错,a无定值二、填空题1. 合法的标识符只能由________、_________和_________组成,起始字符必须为_____和_______2. 15%4结果_______15%-4结果_________-15%4结果___________。
c语言 测试题

第3章一、单项选择题1. 在一个C程序中(B )。
A.)main函数必须出现在所有函数之前B)main函数可以在程序任何位置出现C)main函数必须出现在所有函数之后D)main函数必须出现在固定位置2.在PC机中,’\n’在内存占用的字节数是( A )。
A)1 B)2 C)3 D)43. 下列关于C语言用户标识符的叙述中正确的是(B )A)用户标识符中可以出现下划线和中划线(减号)B)用户标识符中不可以出现中划线(减号),但可以出现下划线C)用户识符中可以出现下划线,但不可以放在用户标识符的开头D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头4. 以下叙述中正确的(D )。
A.)输入项可以是一个实型常量,例如:scanf("%f",3.5);B.)只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf("a=%d,b=%d");C.)当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf("%4.2f ",&f);D.)当输入数据时,必须指明变量地址,例如:scanf("%f ",&f);5.设整型变量i的值为3,则计算表达式i---i后i的值为( A )。
A)0 B)1 C)2 D)表达式出错6.设整型变量a,b,c均为2,表达式a+++b+++c++的结果是( A )。
A)6 B)9 C)8 D)表达式出错7. 以下选项中合法的用户标识符是( B )。
A)long B)_2test C)3Dmax D )A.dat8.设有语句int a=3;,则执行了语句a+=a-=a*a;后,变量a的值是( D )。
A)3 B)0 C) 9 D)-129.在以下一组运算符中,优先级最高的运算符是( C )。
A)<= B)= C)% D)||10.设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中值为0的是( D )。
经典C语言编程题

经典C语⾔编程题选择结构1.编程判断输⼊整数x的正负性和奇偶性。
2.已知银⾏整存整取存款不同期限的⽉息利率分别为:0.63% 期限⼀年0.66% 期限=年⽉息利率= 0.69% 期限三年0.75% 期限五年0.84% 期限⼋年要求输⼊存钱的本⾦和期限,求到期时能从银⾏得到的利息与本⾦的合计。
3.通过键盘输⼊字符,将输⼊的字符分为控制、数字、⼤写字母、⼩写字母和其他字符等五类。
4.简单计算器。
请编写⼀个程序计算表达式:datal op data2的值。
其中op为运算符+、—、*、/。
5.输⼊年份year和⽉month,求该⽉有多少天。
判断是否为闰年,可⽤如下C语⾔表达式:year%4==0 && year%100!=0 || year%400==0。
若表达式成⽴(即表达式值为1),则year为闰年;否则,表达式不成⽴(即值为0),year为平年。
6.对输⼊的⾏、单词和字符进⾏计数。
我们将单词的定义进⾏化简,认为单词是不包含空格、制表符(\t)及换⾏符的字符序列。
例如:“a+b+c”,认为是1个单词,它由5个字符组成。
⼜如:“xy abc”,为2个单词,6个字符。
7.从键盘输⼊任意的字符,按下列规则进⾏分类计数。
第-类'0','1','2','3','4','5','6','7','8','9'第=类'+','-','*','/','%','='第三类其它字符当输⼊字符'\'时先计数,然后停⽌接收输⼊,打印计数的结果。
8.输⼊10个整数,求其中正数的个数及平均值,精确到⼩数点后两位。
9.已知⼀个⾸项⼤于0的等差数列的前四项和为26,前四项的积为880,求此数列。
?10.输⼊a、b、c、d四个整数,求最⼩值min和最⼤值max。
11.编写程序,输⼊三⾓型的三条边长,求其⾯积。
注意:对于不合理的边长输⼊要输出数据错误的提⽰信息。
循环结构1.从键盘输⼊⼗个整数,求这⼗个整数之和。
2.从键盘中读⼊⼀系列字符,直到输⼊字母“a”时才停⽌。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言编程测试题(一)
1.从键盘上输入三个整数a、b、c,要求按大小顺序打印出来
2.打印出100~1000之间的所有完数。
所谓完数是指一个数恰好等于它的所有因子之和。
如6=1+2+3
3.输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数
4.设计一个函数完成对10个整数进行排序(要求使用指针实现)
C语言编程测试题(二)
1.从键盘接收一个字符,如果它是一个大写字母,则把它变成相对应的小写字母;如果它是一个小写字母,则把它变成相对应的大写字母;其它字符不变。
(提示:大小写字母十进制ASCII相差32)
2.编写两个函数分别求两个正整数的最大公约数和最小公倍数。
要求在主函数中调用这两个函数并输出结果,两个整数由键盘输入
3.从键盘上输入10个整数并输出这10个数中的最大数、最小数
4.请编写函数统计输入的一行中小写字母的个数(要求使用指针实现)
C语言编程测试题(三)
1.试判断从键盘输入的正整数是否能被5和7同时整除。
能则输出“yes”,否则输出“no”
2.打印出所有的水仙花数。
水仙花数是一个三位数且各位上的数字立方和等于该数本身。
如153是一个水仙花数
3.输出一个3行4列的矩阵中最大元素的值及其行下标和列下标
4.编写一个函数,对传送过来的三个数选出最大和最小数,并通过形参传回调用函数
C语言编程测试题(四)
1.计算e=1+1/1!+1/2!+…+1/n!,要求计算误差小于0.0001
2.将10个整数输入到一个数组中,然后再将其按输入顺序的逆序进行排列并输出(要求使用指针实现)
3.设计一个函数测试字符串的长度
4.编写一个判断素数的函数。
在主函数打印出100~1000之间的所有素数
C语言编程测试题(五)
1.编写程序输出“九九乘法口诀表”
2.编写函数实现字符串的复制
3.将10个整数输入到一个数组中,然后在数组中查找给定的整数(要求使用指针实现)4.设计结构体类型,用来组织学生的信息(学号、姓名、性别、出生日期、成绩)。