C语言必考100题
C语言100练习题

C语言百道练习题一、填空题1.C源程序的基本单位是【函数】。
2.一个C源程序至少应该包含一个【main函数】。
3.在一个C源程序中,注释用的分界符是【//】或【/* */】。
4.在C语言中,标准输入操作的库函数是由【scanf()】完成的,标准输出操作的库函数是由【printf()】完成的。
5.在C语言中,标识符只能由【字母】、【数字】和【下划线】组成,且首字符必须是【字母或下划线】。
6.x为double类型,代数式的C语言表达式是【sqrt(pow(sin(x),2.5))】。
7.数学中一元二次议程的求根公式的C语言表达式为(-b+sqrt(b*b-4*a*c) )/(2*a) 或(-b-sqrt(b*b-4*a*c) )/(2*a) 。
8.梯形的面积公式的C语言表达式为 1.0/2*(a+b)*h 。
9.已知:char a=' a',b=' b',c=' c',i;(已知a的ASCII码值为97)则表达式i=a+b+c的值为294 。
10.C语言中,指针运算符有* 和& 两个。
11.已知int a=12,n=5;则:表达式运算后a和n的值各为0,0 。
a+=aa-=2a*=2+3a/=a+an%=(n%=2)a+=a-=a*=a12.复合语句是用一对{ } 界定的语句块。
13.一般地,调用标准字符或格式输入输出库函数时,文件开头应有以下预编译命令:#include <stdio.h> 。
14.C语言提供三种逻辑运算符,按优先级高低它们分别是! ,&& ,|| 。
15. 将条件“y能被4整除但不能被100整除,或y能被400整除”写成逻辑表达式(y%4==0&&y%100!=0) ||(y%400==0) 。
16. 已知A=7.5,B=2,C=3.6,表达式A>B && C>A || A<B && !C>B的值是F/假。
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语言基础练习100题(含答案)

("\n");
则输出结果是.
A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,10
18、已知有型变量2.54.7,整型变量7,
则表达式3*()()%2/4的值是.
A) 2.4 B)2.5 C) 2.75 D) 0
19、设有以下语句1033,则x的值是
{ 010;
()
3;
("\n");
}
A) 3,0 B) 0,0 C) 0,1 D) 3,1
35、能够完成如下函数计算的程序段是.
┌ -1 x<0
┤ 0 0
└ 1 x>0
A) 1;B) (x>=0)
(0)(x>0) 1;
(x>0) 1;0;
0;1;
C) 0;D) 1;
(x>=0)(x>0) 1;
23、在C语言中,以下叙述不正确的是.
A) 在C程序中,无论是整数还是实数,都能被准确无误的表示
B) 在C程序中,变量名代表存储器中的一个位置
C) 静态变量的生存期与整个程序的生存期相同
D) C语言中变量必须先定义后引用
24、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是.
A) 10<a<15 B) 11121314
11、阅读下面的程序
<>
()
{
;
010;
9;
("");
}
则程序的运行结果是.
A) 1,19B) -1,19C) 1,17 D) -1,17
12、阅读下面的程序
C语言100题

C语言100题C语言精编100题一、单选题1.由C语言编写的代码程序( )A. 可直接执行B. 是一个源程序C. 经过编译即可执行D. 经过编译解释才能执行2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( )A. 大写字母B. 中划线C. 数字字符D. 下划线3.下列选项中,不能用作标识符的是( )A. _1234_B. _1_2C. int_2_D. 2_int_4.以下选项中合法的用户标识符是( )A. longB. _2TestC. 3DmaxD. A.dat5.以下不能定义为用户标识符的是( )A. MainB. _0C. _intD. sizeof6.下列定义变量的语句错误的是( )A. int _int;B. double int_;C. char For;D. float US$;7.在C语言中,合法的实型常数是( )A. 5E2.0B. E-3C. 2E0D. 1.3E8.在C语言中,合法的实型常数是( )A. 1.2E0.5B. 3.14159EC. 5E-3D. E159.以下选项中,不能作为合法常量的是( )A. 1.234e04B. 1.234e0.4C. 1.234e+4D. 1.234e010.以下不合法的数值常量是( )A. 011B. le1C. 8.0E0.5D. 0xabcd11.在C语言中,非法的字符常量是( )A.‘\t’B.‘\17’C. "\n"D.‘\xaa’12.以下不合法的字符常量是( )A.‘\018’B.‘\"’C.‘\\’D.‘\xcc’13.下列运算符中优先级最高的运算符是( )( )A. <=B. =C. %D. &&A. ==B. /C. =D. >=14.以下程序的输出结果是( )main(){ int a=3,b=4;printf("%d\n",a<=b);}A. 3B. 4C. 1D. 015.在C语言中,以下非法的表达式是( )A. 0<=x<=100B. i=j==0C. (char)(65+3)D. x+1=x+116.在C语言中,以下非法的赋值语句是( )A. j++;B. ++(i+1);C. x=j>0;D. k=i==j;17.表达式3.6-5/2+1.2+5%2的值是( )A. 4.3B. 4.8C. 3.3D. 3.818.设有语句:int a=3;则执行了语句a+=a-=a*a;变量a的值是( )A. 3B. 0C. 9D. -1219.设有语句:int x=10;则执行了语句x+=x-=x-x;变量x的值是( )A. 10B. 20C. 40D. 3020.以下程序的输出结果是( )( )( )( )( )⑴ main(){ int i=10,j=1;printf("%d,%d\n",i--,++j);}A. 9,2B. 10,2C. 9,1D. 10,1⑵ main(){ int a=12,b=12;printf("%d %d\n" ,--a,++b);}A. 10 10B. 12 12C. 11 10D. 11 13⑶ main(){ int x=023;printf("%d\n",--x);}A. 17B. 18C. 23D. 24⑷ main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A. 10 10B. 9 9C. 9 10D. 10 9⑸ main(){ int i=010,j=10;printf("%d,%d\n",++i,j--);}A. 11,10B. 9,10C. 010,9D. 10,921.以下程序的输出结果是( ) main(){ int x=100,y=200;printf("%d\n",(x,y)); }A. 200B. 100C. 100 200 D)200 10022.以下程序的输出结果是( )main(){ int x=10,y=3,z;printf("%d\n",z=(x%y,x/y));}A. 1B. 0C. 4D. 323.int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( )A. k++B. k+=1C. ++kD. k+124.以下程序的输出结果是( )main(){ int x,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z); }A. 2,3,3B. 2,3,2C. 2,3,1D. 2,2,125.设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( )A. 1B. 2C. 3D. 426.设int x=-1;执行表达式++x||++x||++x||++x,x的值是( )A. 0B. 1C. 2D. 427.以下程序的输出结果是(1) main(){ int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k);}()A. k=11,k=12,k=11B. k=11,k=13,k=13C. k=11,k=013,k=0xbD. k=11,k=13,k=b(2) main(){ int k=17; printf("%d,%o,%x\n",k,k,k); }()A. 17,021,0x11B. 17,17,17C. 17,0x11,021D. 17,21,1128.运行时从键盘上输入9876543210(表示回车),则该程序的输出结果是()main(){ int a;float b,c;scanf("%2d%3f%4f\n",&a,&b,&c);printf("a=%d,b=%f,c=%f\n",a,b,c);}A. a=98,b=765,c=4321B. a=10,b=432,c=8765C. a=98,b=765.000000,c=4321.000000D. a=98,b=765.0,c=4321.029.设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。
c语言经典题目100题

1.寻找数组中的最大值和最小值2.寻找数组中的中位数3.查找数组中给定元素的索引4.反转数组5.合并两个升序数组6.移位数组7.查找两个数组的交集8.查找两个数组的并集9.查找两个数组的差集10.寻找数组中的众数11.寻找数组中的缺失元素12.寻找数组中的重复元素13.计算数组的和14.计算数组的平均值15.计算数组的方差16.计算数组的标准差17.比较两个数组是否相等18.复制数组19.排序数组20.搜索数组(线性搜索)21.搜索数组(二分搜索)22.插入元素到数组23.删除元素到数组24.更新数组中的元素25.创建动态数组26.释放动态数组27.字符串复制28.字符串连接29.字符串比较30.字符串搜索31.字符串替换32.字符串分割33.字符串反转34.字符串大小写转换35.字符串修剪36.计算字符串长度37.字符串格式化38.链表创建39.链表插入40.链表删除41.链表搜索42.链表反转43.链表排序44.链表合并45.链表复制46.链表释放47.树创建48.树插入49.树删除50.树搜索51.树反转52.树排序53.树合并54.树复制55.树释放56.堆创建57.堆插入58.堆删除59.堆搜索60.堆反转61.堆排序62.堆合并63.堆复制64.堆释放65.图创建66.图插入67.图删除68.图搜索69.图反转70.图排序71.图合并72.图复制73.图释放74.队列创建75.队列插入76.队列删除77.队列搜索78.队列反转79.队列排序80.队列合并81.队列复制82.队列释放83.栈创建84.栈插入85.栈删除86.栈搜索87.栈反转88.栈排序89.栈合并90.栈复制91.栈释放92.哈希表创建93.哈希表插入94.哈希表删除95.哈希表搜索96.哈希表反转97.哈希表排序98.哈希表合并99.哈希表复制100.哈希表释放。
100条经典C语言笔试题目(全)

100条经典C语言笔试题目1、请填写bool , float, 指针变量与“零值”比较的if 语句。
提示:这里“零值”可以是0, 0.0 , FALSE 或者“空指针”。
例如int 变量n 与“零值”比较的if 语句为:if ( n == 0 )if ( n != 0 )以此类推。
(1)请写出bool flag 与“零值”比较的if 语句:【标准答案】if ( flag ) if ( !flag )(2)请写出float x 与“零值”比较的if 语句:【标准答案】const float EPSINON = 0.00001; if ((x >= - EPSINON) && (x <= EPSINON) 不可将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”此类形式。
(3)请写出char *p 与“零值”比较的if 语句【标准答案】if (p == NULL) if (p != NULL)2、以下为Linux下的32 位C程序,请计算sizeof 的值。
char str[] = “Hello” ; char *p = str ; int n = 10;请计算(1)sizeof (str ) = (2)sizeof ( p ) = (3)sizeof ( n ) =【标准答案】(1)6、(2)4、(3)4(4)void Func ( char str[100]) { ……;}请计算sizeof( str ) =(5)void *p = malloc( 100 ); 请计算sizeof ( p ) =【标准答案】(4)4、(5)43、long a=0x801010;a+5=?【标准答案】0x801010用二进制表示为:“1000 0000 0001 0000 0001 0000”,十进制的值为8392720,再加上5就是8392725。
4、用变量a给出下面的定义e) 一个有10个指针的数组,该指针是指向一个整型数的;f) 一个指向有10个整型数数组的指针;g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数;h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数;【标准答案】e)int * a[10]; f)int (*a)[10]g)int (*a)(int); h) int (*a[10])(int)5、设有以下说明和定义:typedef union {long i; int k[5]; char c;} DATE;struct data { int cat; DATE cow; double dog;} too;DATE max;则语句printf("%d",sizeof(struct date)+sizeof(max));的执行结果是:_____【标准答案】DATE是一个union, 变量公用空间. 里面最大的变量类型是int[5], 占用20个字节. 所以它的大小是20data是一个struct, 每个变量分开占用空间. 依次为int4 + DATE20 + double8 = 32.所以结果是20 + 32 = 52.当然...在某些16位编辑器下, int可能是2字节,那么结果是int2 + DATE10 + double8 = 20 6、请问以下代码有什么问题:int main(){char a;char *str=&a;strcpy(str,"hello");printf(str);return 0;}【标准答案】没有为str分配内存空间,将会发生异常问题出在将一个字符串复制进一个字符变量指针所指地址。
C语言的简答题含解答共100道题

C语言的简答题含解答共100道题1. 什么是C语言?●C语言是一种通用的编程语言,由Dennis Ritchie于1972年开发。
它被广泛用于系统编程、嵌入式开发和应用程序开发。
2. C语言的注释如何表示?●注释可以使用`/*`和`*/`包围起来,或者使用`//`开始的单行注释。
3. 如何声明一个整数变量?●使用语法:`int variable_name;`,例如:`int age;`4. 如何将值赋给一个变量?●使用赋值运算符`=`,例如:`age = 25;`5. 什么是标识符?●标识符是用来命名变量、函数和其他用户定义的实体的名称,它们必须遵循一定的命名规则。
6. C语言的基本数据类型有哪些?●整数类型(int、short、long)、浮点数类型(float、double、long double)、字符类型(char)等。
7. 如何定义常量?●使用`#define`预处理指令或`const`关键字,例如:`#define PI 3.141592` 或`const int max_age = 100;`8. 什么是C语言中的运算符?●运算符用于执行各种操作,如加法、减法、乘法、除法等。
常见运算符包括`+`、`-`、`*`、`/`、`%`等。
9. 如何在C语言中获取用户输入?●使用`scanf`函数来接收用户输入,例如:`scanf("%d", &number);`10. 如何在C语言中打印输出?●使用`printf`函数来输出内容,例如:`printf("Hello, World!");`11. 什么是条件语句?C语言中最常见的条件语句是什么?●条件语句用于根据条件执行不同的代码块。
C语言中最常见的条件语句是`if`语句。
12. `if`语句的基本结构是什么?●`if`语句的基本结构如下:```cif (condition) {// 代码块}```13. 如何使用`else`扩展`if`语句以处理多个条件?●使用`else if`可以在一个`if`语句中处理多个条件,例如:```cif (condition1) {// 代码块1} else if (condition2) {// 代码块2} else {// 默认代码块}```14. 什么是循环?C语言中有哪些类型的循环?●循环是一种重复执行一段代码的结构。
C语言基础练习100题(含标准答案)

C语⾔基础练习100题(含标准答案)C语⾔基础练习100题(含答案)雷柳青编排1、下⾯程序的输出是________#includevoid main(){ int k=11。
printf("k=%d,k=%o,k=%x\n",k,k,k)。
}A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是________.A) ++t。
B) n1=(n2=(n3=0))。
C) k=i=j。
D) a=b+c=1。
3、下⾯合法的C语⾔字符常量是__________.A) '\t' B) "A" C) 65 D) A4、字符(char)型数据在微机内存中的存储形式是____.A) 反码B) 补码C) EBCDIC码D) ASCII码5、设int a=12,则执⾏完语句a+=a-=a*a后,a的值是________A) 552 B) 264 C) 144 D) -2646、执⾏下⾯程序中的输出语句后,输出结果是______.#includevoid main(){int a。
printf("%d\n",(a=3*5,a*4,a+5))。
}A) 65 B) 20 C) 15 D) 107、下⾯程序的输出是__________.#includevoid main(){int x=023。
printf("%d\n",--x)。
}A) 17 B) 18 C) 23 D) 248、下⾯程序的输出是___________.#include{char ch1,ch2。
ch2='A'+'6'-'3'。
printf("%d,%c\n",ch1,ch2)。
(完整版)C语言100个经典题目

C语言程序设计习题授课对象:信息奥赛辅导成员授课时间:题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?__________________________________________________________________程序分析:兔子的规律为数列1,1,2,3,5,8,13,21…。
___________________________________________________________________程序源代码:main(){long f1,f2;int i;f1=f2=1;for(i=1;i<=20;i++){printf(“%12ld %12ld”,f1,f2);if(i%2==0)printf(“\n");/*控制输出,每行四个*/f1=f1+f2;/*前两个月加起来赋值给第三个月*/f2=f1+f2;/*前两个月加起来赋值给第三个月*/}}上题还可用一维数组处理,you try!题目:判断101—200之间有多少个素数,并输出所有素数。
__________________________________________________________________程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
___________________________________________________________________程序源代码:#include “math。
h”main(){int m,i,k,h=0,leap=1;p rintf(“\n”);for(m=101;m〈=200;m++){ k=sqrt(m+1);for(i=2;i〈=k;i++)if(m%i==0){leap=0;break;}if(leap){printf(“%-4d”,m);h++;if(h%10==0)printf(“\n");}leap=1;}printf(“\nThe total is %d”,h);}题目:打印出所有的“水仙花数",所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
c语言 100题

c语言100题1. 构成C语言程序的基本单位是()。
A.函数B.变量C.子程序D.语句是不正确的转义字符。
2. C语言规定:在一个源程序中,main()函数的位置()。
A.必须在最开始B.必须在系统调用的库函数后面C.可以任意D.必须在最后3. 下列哪个选项能够正确地声明一个指向整型变量的指针?A) int *ptr;B) int ptr;C) int ptr;D) int ptr;4.C语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符()。
A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母、数字和下划线中的任意一种5. C语言中的简单数据类型有()。
A.整型、实型、逻辑型B.整型、字符型、逻辑型C.整型、实型、字符型D.整型、实型、字符型、逻辑型6. 以下选项中,不正确的整型常量是()。
A.-37B.32,758C.326D.67.以下选项中,不正确的实型常量是()。
A.123B.1e4C.3.640E-1D.0.358.以下选项中,合法的C语言赋值语句是()。
A.a=b=34B.a=34,b=34C.-i;D.m=(int)(x+y);9.设int类型的数据长度为两个字节,则unsigned int类型数据的取值范围是()。
A.0~255B.0~65535C.-32768~32767D.-256~25510.在C语言中,下列哪个函数用于将整数转换为字符串?A) itoa()B) atoi()C) to_string()D) intstr()11.以下叙述中,不正确的是()。
A.在C程序中,%是只能用于整数运算的运算符B.在C程序中,无论是整数还是实数,都能准确无误地表示C.若a是实型变量,C程序中a=20是正确的,因此实型变量允许被整型数赋值D.前缀和后缀运算符,作为表达式来说有不同的作用12.设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的值为()。
c语言必做100题

c语言必做100题1. 编写一个C程序,输出“Hello, World!”。
2. 编写一个C程序,计算并输出1到100的和。
3. 编写一个C程序,判断一个数是否为素数。
4. 编写一个C程序,将一个字符串反转。
5. 编写一个C程序,实现二分查找算法。
6. 编写一个C程序,实现插入排序算法。
7. 编写一个C程序,实现选择排序算法。
8. 编写一个C程序,实现冒泡排序算法。
9. 编写一个C程序,实现快速排序算法。
10. 编写一个C程序,实现希尔排序算法。
11. 编写一个C程序,将一个二维数组转置。
12. 编写一个C程序,计算一个数的阶乘。
13. 编写一个C程序,实现斐波那契数列。
14. 编写一个C程序,计算两个数的最大公约数。
15. 编写一个C程序,计算两个数的最小公倍数。
16. 编写一个C程序,计算一个数的平方根。
17. 编写一个C程序,计算一个数的立方根。
18. 编写一个C程序,实现矩阵乘法运算。
19. 编写一个C程序,实现字符串的查找和替换。
20. 编写一个C程序,实现栈的基本操作(入栈、出栈、查看栈顶元素)。
21. 编写一个C程序,实现队列的基本操作(入队、出队、查看队首元素)。
22. 编写一个C程序,实现链表的基本操作(插入、删除、倒置)。
23. 编写一个C程序,实现二叉树的前序、中序和后序遍历。
24. 编写一个C程序,实现图的深度优先搜索算法。
25. 编写一个C程序,实现图的广度优先搜索算法。
26. 编写一个C程序,实现最短路径算法(Dijkstra算法或Floyd算法)。
27. 编写一个C程序,实现最小生成树算法(Prim算法或Kruskal算法)。
28. 编写一个C程序,实现拓扑排序算法。
29. 编写一个C程序,实现优先队列。
30. 编写一个C程序,实现哈希表的基本操作(插入、查找、删除)。
31. 编写一个C程序,实现堆的基本操作(插入、删除、查找最大值)。
32. 编写一个C程序,实现最大堆排序算法。
C语言经典100题(来自鱼C论坛)

目录(按住ctrl可链接到每一个问题)2【程序1】1~4组成无重复数字的三位数。
(3)2【程序2】企业利润计算(switch) (3)1【程序3】加100是完全平方数 (4)1【程序4】年月日判断是年份的第几天。
(4)1【程序5】三个数,从小到大输出。
(5)1【程序6】用*号输出字母C的图案。
(6)1【程序7】输出特殊图案,请在c环境中运行,看一看,Very Beautiful! (6)1【程序8】题目:输出9*9口诀。
(6)1【程序9】题目:要求输出国际象棋棋盘。
(7)1【程序10】题目:打印楼梯,同时在楼梯上方打印两个笑脸。
(7)1【程序11】(古典问题)兔子问题。
(8)1【程序12】判断1010到200之间的素数。
(8)1【程序13】打印出所有的“水仙花数”。
(9)1【程序14】将一个正整数分解质因数。
(10)1【程序15】利用条件运算符的嵌套完成学习成绩的转换。
(10)1【程序16】求最大公约数和最小公倍数。
(11)1【程序17】输入一行字符,分别统计出其中英文字母、、、、的个数。
(11)1【程序18】求s=a+aa+aaa+aaaa+aa...a的值 (12)1【程序19】完数。
(12)【程序20】小球自由下落。
(13)【程序22】两个乒乓球队进行比赛 (14)【程序23】打印出如下图案(菱形) (15)【程序24】求数列的前20项和,2/1,3/2,5/3,8/5,、、 (16)【程序25】题目:求1+2!+3!+...+20!的和 . (16)【程序26】题目:利用递归方法求5!。
(16)【程序27】利用递归函数调用方式,反向打印字符。
(17)【程序28】五个人问岁数。
(18)【程序29】不多于5位数,求是几位数。
(18)【程序30】一个5位数,判断它是不是回文数。
(19)【程序31】输入星期几的第一个字母来判断一下是星期几。
(19)【程序32】Press any key to change color。
C语言经典100题

C语言经典100题1. 编写一个C程序,输出"Hello, World!"。
```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```2. 编写一个C程序,输入两个整数并输出它们的和。
```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;}```3. 编写一个C程序,输入一个整数,判断它是否为偶数。
```c#include <stdio.h>int main() {int num;printf("请输入一个整数:\n");scanf("%d", &num);if (num % 2 == 0) {printf("%d是偶数。
\n", num);} else {printf("%d是奇数。
\n", num);}return 0;}```4. 编写一个C程序,输入一个字符串,将其反转并输出。
```c#include <stdio.h>#include <string.h>int main() {char str[100];printf("请输入一个字符串:\n");scanf("%s", str);int len = strlen(str);for (int i = len - 1; i >= 0; i--) {printf("%c", str[i]);}printf("\n");return 0;}```5. 编写一个C程序,输入一个正整数,判断它是否为素数。
C语言100题 (全)

C语言c语言100题经典c程序100例==1--10【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
2.程序源代码:main(){int i,j,k;printf("\n");for(i=1;i<5;i++)/*以下为三重循环*/for(j=1;j<5;j++)for (k=1;k<5;k++){if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/printf("%d,%d,%d\n",i,j,k);}}==============================================================【程序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;if(i<=100000)bonus=i*0.1;else if(i<=200000)bonus=bonus1+(i-100000)*0.075;else if(i<=400000)bonus=bonus2+(i-200000)*0.05;else if(i<=600000)bonus=bonus4+(i-400000)*0.03;else if(i<=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus);}==============================================================【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。
C语言必考100题

C语⾔必考100题1.按下述格式,从键盘输⼊⼀个整数加法表达式:操作数1+操作数2,然后计算并输出表达式的计算结果,形式如下:操作数1+操作数2=计算结果。
2.输⼊两个整形数并打印,如果⽤户不慎输⼊了⾮法字符,那么程序提⽰“输⼊数据类型错误”。
3.已知三⾓形的三边长a,b,c,要求编写程序,从键盘输⼊a,b,c的值,计算并输出三⾓形的⾯积(注意不存在的情况)。
4.编程从键盘输⼊圆的半径r,计算并输出圆的周长和⾯积。
5.任意从键盘输⼊⼀个三位整数,要求正确分离它的个位,⼗位和百位数,并分别在屏幕上输出。
6.写⼀个函数实现统计⼀个输⼊的整形数的位数。
7.编程计算⽅程ax*x+bx+c=0的根,a,b,c由键盘输⼊,只是⽤主函数来实现。
8.编写三个函数,分别在b*b-4*a*c⼤于0、⼩于0、等于0时进⾏调⽤,并输出结果,在主函数中读⼊a、b、c的值。
9.从键盘输⼊你和你朋友的年龄,变成判断谁的年龄⼤,并打印最⼤者的年龄。
10.从键盘输⼊⼀个年份,判断该年是否是闰年,并输出结果。
11.判断某⼈是否属于肥胖体型。
根据⾝⾼与体重因素,医务⼯作者经⼴泛的调查分析给出了以下按“体指数”对肥胖程度的划分:体指数t=w/h*h(w为体重,单位为kg,h为⾝⾼,单位为m)。
当t<18时,为低体重;当t介于18和25之间时,为正常体重;当t介于25和27之间时,为超重体重;当t≧27时,为肥胖。
编程从键盘输⼊你的⾝⾼h和体重w,根据上式,判断体重类型。
12.利⽤switch语句将百分制成绩转化为五分制成绩。
13.利⽤switch语句将五分制成绩转换成对应分数范围并输出。
14.编程设计⼀个简单的计算器程序,要求根据⽤户从键盘输⼊的表达式:操作数1 运算符op 操作数2 计算表达式的值,指定的运算符为加减乘除。
15.利⽤时间函数编写⼀个猜数程序。
16.编程实现计算n的阶乘。
17.利⽤函数递归实现计算n!。
18.利⽤π/4=1-1/3+1/5-1/7……计算π的值直到最后⼀项的绝对值⼩于0.0001为⽌,要求统计总共累加了多少项。
c语言笔试题目100及最佳答案

c语言笔试题目100及最佳答案1. 以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪种数据类型是用于存储字符的?A. intB. charC. floatD. double答案:B3. 以下哪个选项不是C语言中的控制语句?A. ifB. whileC. forD. switch答案:D4. 在C语言中,以下哪个运算符用于执行算术运算?A. %B. &&C. ==D. +答案:D5. 如何定义一个具有10个元素的整型数组?A. int array[10];B. int array(10);C. int array[10] = {0};D. int array = 10;答案:A6. 在C语言中,以下哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B7. 在C语言中,以下哪个函数用于计算数组中元素的数量?A. sizeofB. lengthC. countD. size答案:A8. 在C语言中,以下哪个关键字用于定义一个函数?A. functionB. defC. voidD. int答案:C9. 在C语言中,以下哪个关键字用于声明一个全局变量?A. externB. staticC. globalD. local答案:A10. 在C语言中,以下哪个函数用于打开一个文件?A. fopenB. openC. readD. write答案:A11. 在C语言中,以下哪个函数用于关闭一个文件?A. fcloseB. closeC. endD. finish答案:A12. 在C语言中,以下哪个函数用于读取一个字符?A. getcharB. getcC. fgetcD. scanf答案:A13. 在C语言中,以下哪个函数用于写入一个字符?A. putcharB. putcC. fputcD. printf答案:A14. 在C语言中,以下哪个函数用于格式化输出?A. printfB. sprintfC. fprintfD. all of the above答案:D15. 在C语言中,以下哪个函数用于格式化输入?A. scanfB. sscanfC. fscanfD. all of the above答案:D16. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlenB. lengthC. sizeD. count答案:A17. 在C语言中,以下哪个函数用于连接两个字符串?A. strcatB. strncatC. strcpyD. strncpy答案:A18. 在C语言中,以下哪个函数用于复制一个字符串?A. strcatB. strncatC. strcpyD. strncpy答案:C19. 在C语言中,以下哪个函数用于比较两个字符串?A. strcmpB. strcpyC. strcatD. strncpy答案:A20. 在C语言中,以下哪个函数用于查找字符串中子串的位置?A. strstrB. strchrC. strrchrD. strcspn答案:A。
C语言基础练习100题含标准答案

C语言基础练习100题含标准答案1. 编写一个C语言程序,要求输出"Hello, World!"#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}2. 编写一个C语言程序,要求输出两个整数的和。
#include <stdio.h>int main() {int a, b, sum;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;printf("两个整数的和为:%d\n", sum);return 0;}3. 编写一个C语言程序,要求输出一个整数的平方。
#include <stdio.h>int main() {int num, square;printf("请输入一个整数:");scanf("%d", &num);square = num * num;printf("该整数的平方为:%d\n", square);return 0;}4. 编写一个C语言程序,要求输出1到10的所有整数。
#include <stdio.h>int main() {int i;for (i = 1; i <= 10; i++) {printf("%d ", i);}printf("\n");return 0;}5. 编写一个C语言程序,要求输出1到10的所有整数的和。
#include <stdio.h>int main() {int i, sum = 0;for (i = 1; i <= 10; i++) {sum += i;}printf("1到10的所有整数的和为:%d\n", sum);return 0;}6. 编写一个C语言程序,要求输入一个字符串并输出该字符串。
c语言笔试100经典题目

1、C语言程序的基本单位是____ A) 程序行B) 语句C) 函数D) 字符、C、12、C语言程序的三种基本结构是____ A、顺序结构,选择结构,循环结构B、递归结构,循环结构,转移结构C、嵌套结构,递归结构,顺序结构D、循环结构,转移结构,顺序结构、A、13、C语言规定,程序中各函数之间A) 既允许直接递归调用也允许间接递归调用B) 不允许直接递归调用也不允许间接递归调用C) 允许直接递归调用不允许间接递归调用D) 不允许直接递归调用允许间接递归调用、A、14、C语言中可处理的文件类型是( ) A) 文本文件和数据文件B)文本文件和二进制文件C)数据文件和二进制文件D)数据代码文件、B、15、C语言可执行程序的开始执行点是( ) A) 程序中第一条可执行语句B) 程序中第一个函数C) 程序中的main函数D) 包含文件中的第一个函数、C、16、C语言提供的合法的数据类型关键字是A)double B) short C) integer D) char、B、17、C语言中,运算对象必须是整型数的运算符是A) % B) \ C) %和\ D) * *、A、18、C语言中函数返回值的类型是由( )决定。
A) return语句中的表达式类型B) 调用函数的主调函数类型C) 调用函数时临时D) 定义函数时所指定的函数类型、D、19、C语言中数组名作为参数传递给函数,作为实在参数的数组名被处理为_____。
A、该数组的长度。
B、该数组的元素个数。
C、该数组中各元素的值。
D、该数组的首地址。
、D、110、C语言中数组下标的下限是________。
A、1 B、0 C、视具体情况D、无固定下限、B、111、C语言中提供的合法关键字是____ A、swith B、cher C、caseD、default、D、112、C语言中文件的存取方式是________。
A、顺序存取B、随机存取C、顺序存取、随机存取均可D、顺序存取、随机存取均不可、C、113、C语言中最简单的数据类型包括A) 整型、实型、逻辑型B) 整型、实型、字符型C) 整型、字符型、逻辑型D) 整型、实型、逻辑型、字符型、B、114、sizeof(float)是( ) A) 一种函数调用B) 一个不合法的表示形式C) 一个整型表达式D) 一个浮点表达式、C、115、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是A) input x,y,z; B) scanf("%d%d%d",&x,&y,&z);C) scanf("%d%d%d",x,y,z); D) read("%d%d%d",&x,&y,&z);、B、116、表达式:10!=9的值是A) true B) 非零值C) 0 D) 1、D、117、表示关系x<=y<=z的c语言表达式为A) (X<=Y)&&(Y<=Z)B) (X<=Y)AND(Y<=Z) C) (X<=Y<=Z) D) (X<=Y)&(Y<=Z)、A、118、程序片段:在TC20中, int i=65536; printf("%d\n",i);的输出结果是____ A) 65536 B) 0 C) 有语法错误,无输出结果D) -1、B、119、当调用函数时,实参是一个数组名,则向函数传送的是____A) 数组的长度B) 数组的首地址C) 数组每一个元素的地址D) 数组每个元素中的值、B、120、对嵌套子程序调用说法正确的是____。
C语言基础练习100题(含答案解析)

C语言基础练习100题(含答案)雷柳青编排1、下面程序的输出是________#include<stdio.h>void main(){ int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=11 B) k=11,k=13,k=13C) k=11,k=013,k=0xb D) k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是________.A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1;3、下面合法的C语言字符常量是__________.A) '\t' B) "A" C) 65 D) A4、字符(char)型数据在微机内存中的存储形式是____. A) 反码B) 补码C) EBCDIC码D) ASCII码5、设int a=12,则执行完语句a+=a-=a*a后,a的值是________A) 552 B) 264 C) 144 D) -2646、执行下面程序中的输出语句后,输出结果是______.#include<stdio.h>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B) 20 C) 15 D) 107、下面程序的输出是__________.#include<stdio.h>void main(){int x=023;printf("%d\n",--x);}A) 17 B) 18 C) 23 D) 248、下面程序的输出是___________.#include<stdio.h>void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值9、以下程序的输出结果是________.#include<stdio.h>void main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A) 10 10 B) 9 9 C) 9 10 D) 10 910、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y));上面程序片段的输出结果是_______.A) 200 B) 100 C) 100 200 D) 输出格式符不够,输出不确定的值11、阅读下面的程序#include<stdio.h>void main(){int i,j;i=010;j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是________.A) 1,19 B) -1,19 C) 1,17 D) -1,1712、阅读下面的程序#include<stdio.h>void main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}程序的运行结果是_________.A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10 D) 9,10,9,1113、若已定义int a,则表达式a=10,a+10,a++的值是___.A) 20 B) 10 C) 21 D) 1114、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入1234567<回车>,则程序的运行结果是________.A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4515、下面程序的输出结果是________.#include<stdio.h>void main(){int a=-1, b=4, k;k=(++a<=0)&&(b--<=0);printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,316、下面程序的输出结果是_______.#include<stdio.h>void main(){int a=5,b=3;float x=3.14, y=6.5;printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));}A) 1,0 B) 0,1 C) 1,1 D) 0,017、若有以下定义和语句:int a=010, b=0x10, c=10;printf("%d,%d,%d\n",a,b,c);则输出结果是_________.A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1018、已知有double型变量x=2.5,y=4.7,整型变量a=7,则表达式x+a%3*(int)(x+y)%2/4 的值是_________.A) 2.4 B) 2.5 C) 2.75 D) 019、设有以下语句:int x=10;x+=3+x%3,则x的值是._________A) 14 B) 15 C) 11 D) 1220、若d为double型变量,则表达式d=1,d+5,d++的值是_______.A) 1 B) 6.0 C) 2.0 D) 1.021、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值__________.A) 0 B) 1 C) 12 D) 622、若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是____.A) 0 B) 2 C) 1.5 D) 123、在C语言中,以下叙述不正确的是________.A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同D) C语言中变量必须先定义后引用24、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是________.A) 10<a<15 B) a==11||a==12||a==13||a==14C) a>10&&a<15 D) !(a<=10)&&!(a>=15)25、如果c为字符型变量,判断c是否为空格不能使用________.(假设已知空格ASCII码为32)A) if(c=='32') B) if(c==32)C) if(c=='\40') D) if(c==' ')26、执行下面程序时,若从键盘输入"2<CR>",则程序的运行结果是________.#include <stdio.h>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9')k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;else k=cp-'A'+10;printf("%d\n",k);}A) 2 B) 4 C) 1 D) 1027、执行下面程序后,运行结果是________.#include <stdio.h>void main( ){ int x=41,y=1;if (x%3==0 && x%7==0){ y+=x;printf("y=%d\n",y);}else{y=x;printf("y=%d",y);}}A) y=41 B) y=43 C) y=42 D) y=128、运行下面程序时,从键盘输入"12,34,9<CR>",则输出结果是______.#include <stdio.h>void main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if (x<y)if (y<z)printf("%d\n",z);else printf("%d\n",y);else if (x<z)printf("%d\n",z);else printf("%d\n",x);}A) 34 B) 12 C) 9 D) 不确定的值29、运行下面程序时,从键盘输入字母H,则输出结果是________.#include <stdio.h>void main( ){ char ch;ch=getchar( );switch(ch){ case 'H':printf("Hello!\n");case 'G':printf("Good morning!\n");default:printf("Bye_Bye!\n");}}A) Hello! B) Hello!Good Morning!C) Hello! D) Hello!Good morning! Bye_Bye! Bye_Bye!30、执行下列程序段后的输出结果是_________.int x=1,y=1,z=1;x+=y+=z;printf("%d\n",x<y?y:x);A) 3 B) 2 C) 1 D) 431、设ch是char型变量,值为'A',则表达式ch=(ch>='A' && ch<='Z')?ch+32:ch的值是_____.A) Z B) a C) z D) A32、下面程序的输出结果是________.#include <stdio.h>void main( ){ int x=8,y=-7,z=9;if (x<y)if (y<0) z=0;else z-=1;printf("%d\n",z);}A) 8 B) 1 C) 9 D) 033、运行下面程序时,若从键盘输入"3,4 <CR>",则程序的输出结果是_______.#include <stdio.h>void main( ){ int a,b,s;scanf("%d,%d",&a,&b);s=a;if (s<b) s=b;s=s*s;printf("%d\n",s) ;}A) 14 B) 16 C) 18 D) 2034、下列程序的执行结果是_________.#include <stdio.h>void main( ){ int x=0,y=1,z=0;if (x=z=y)x=3;printf("%d,%d\n",x,z);}A) 3,0 B) 0,0 C) 0,1 D) 3,135、能够完成如下函数计算的程序段是______.┌-1 x<0y= ┤0 x=0└ 1 x>0A) y=1; B) if (x>=0)if(x!=0) if(x>0) y=1;if(x>0) y=1; else y=0;else y=0; else y=-1;C) y=0; D) y=-1;if (x>=0) if (x>0) y=1;if (x>0) y=1; else y=0;else y=-1;36、以下程序的执行结果是________.#include <stdio.h>void main( ){ int x=1,y=0;switch (x){case 1:switch (y){case 0:printf("first\n");break;case 1:printf("second\n");break;}case 2:printf("third\n");}}A) first B) firstsecond thirdC) first D) secondthird37、以下程序的执行结果是________.#include <stdio.h>void main( ){ int a,b,c,d,x;a=c=0;b=1;d=20;if (a) d=d-10;else if(!b)if (!c) x=15;else x=25;printf("d=%d\n",d);}A) d=20 B) d=10 C) d=15 D) 2538、下列程序执行后的输出结果是________.#include <stdio.h>void main( ){ int x,y=1,z;if ((z=y)<0) x=4;else if (y==0) x=5;else x=6;printf("%d,%d\n",x,y);}A) 4,1 B) 6,1 C) 5,0 D) 出错信息39、有如下程序#include <stdio.h>void main( ){ int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;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=240、下面程序的输出结果是_________.#include <stdio.h>void main( ){ int a=-1,b=1,k;if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a);}A) -1 1 B) 0 1 C) 1 0 D) 0 041、假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z;则该程序段执行后,m的值是_________.A) 4 B) 3 C) 2 D) 142、以下程序的输出结果是_________.main( ){ int a=100;if (a>100) printf("%d\n",a>100);else printf("%d\n",a<=100);}A) a<=100 B) 100 C) 0 D) 143、若执行下面的程序从键盘上输入9,则输出结果是.______________#include <stdio.h>void main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);else printf("%d\n",n--);}A) 11 B) 10 C) 9 D) 844、以下程序段运行结果是________.int x=1,y=1,z=-1;x+=y+=z;printf("%d\n",x<y?y:x);A) 1 B) 2 C) 4 D) 不确定的值45、有以下程序#include <stdio.h>void main( ){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是________.A) 2,1 B) 3,2 C) 4,3 D) 2,-1 46、运行下面程序时,若从键盘输入数据为"123",则输出结果是_______.#include "stdio.h"void main(){ int num,i,j,k,place;scanf("%d",&num);if (num>99)place=3;else if(num>9)place=2;elseplace=1;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch (place){ case 3: printf("%d%d%d\n",k,j,i);break;case 2: printf("%d%d\n",k,j);break;case 1: printf("%d\n",k);}}A) 123 B) 1,2,3 C) 321 D) 3,2,147、执行下列程序后的输出结果是_______.#include <stdio.h>void main( ){ int k=4,a=3,b=2,c=1;printf("%d\n",k<a?k:c<b?c:a);}A) 4 B) 3 C) 2 D) 148、以下条件表达式中能完全等价于条件表达式if(x)中的x 的是____.A) (x==0) B) (x!=0) C) (x==1) D) (x!=1)49、若运行下面程序时,给变量a输入15,则输出结果是______.#include <stdio.h>void main( ){ int a,b;scanf("%d",&a);b=a>15?a+10:a-10;printf("%d\n",b) ;}A) 5 B) 25 C) 15 D) 10 50、执行下面程序的输出结果是________.#include <stdio.h>void main( ){ int a=5,b=0,c=0;if (a=a+b) printf("****\n");else printf("####\n");}A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出****D) 输出####51、为了避免嵌套的if-else语句的二义性,C语言规定else总是与______组成配对关系.A) 缩排位置相同的ifB) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if52、以下程序段__________.x=-1;do{x=x*x;} while (!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误53、对下面程序段描述正确的是_______.int x=0,s=0;while (!x!=0) s+=++x;printf("%d",s);A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次54、下面程序段的输出结果是_______.x=3;do { y=x--;if (!y) {printf("*");continue;}printf("#");} while(x=2);A) ## B) ##* C) 死循环D)输出错误信息55、下面程序的运行结果是_______.#include<stdio.h>void main( ){ int a=1,b=10;do{ b-=a;a++;} while(b--<0);printf("%d,%d\n",a,b);}A) 3,11 B) 2,8 C) 1,-1 D) 4,956、下面程序段的运行结果是__________.int n=0;while (n++<=2)printf("%d",n);A) 012 B) 123 C) 234 D) 错误信息57、下面程序段的运行结果是________.int x=0,y=0;while (x<15) y++,x+=++y;printf("%d,%d",y,x);A) 20,7 B) 6,12 C) 20,8D)8,2058、下面程序的运行结果是________.#include<stdio.h>void main(){ int s=0,i=1;while (s<=10){ s=s+i*i;i++;}printf("%d",--i);}A) 4 B) 3 C) 5 D) 659、下面程序段的运行结果是________.for(x=10;x>3;x--){ if(x%3) x--;--x; --x;printf("%d ",x);}A) 6 3 B) 7 4 C) 6 2 D) 7 360、下面程序的运行结果是________.#include<stdio.h>void main( ){ int a,b;a=-1;b=0;do {++a;++a;b+=a;} while(a<9);printf("%d\n",b);}A) 34 B) 24 C) 26 D) 2561、下面程序段的运行结果是___________.for(i=1;i<=5;)printf("%d",i);i++;A) 12345 B) 1234 C) 15 D) 无限循环62、下面程序的输出结果是__________.#include<stdio.h>void main( ){ int n=4;while (n--) printf("%d ",n--);}A) 2 0 B) 3 1 C) 3 2 1 D) 2 1 063、以下程序运行后的输出结果是________.#include<stdio.h>void main(){ int i=10,j=0;do{ j=j+1; i--;}while(i>2);printf("%d\n",j);}A) 50 B) 52 C) 51 D) 864、有如下程序#include<stdio.h>void main(){ int x=23;do{ printf("%d",x--);}while(!x);}该程序的执行结果是_______A) 321 B) 23C) 不输出任何内容D) 陷入死循环65、以下程序段的执行结果是_______.int i,j,m=0;for(i=1;i<=15;i+=4)for(j=3;j<=19;j+=4)m++;printf("%d\n",m);A) 12 B) 15 C) 20 D) 2566、下面程序的输出结果是___________.#include<stdio.h>void main( ){ int i;for(i=1;i<6;i++){ if (i%2!=0) {printf("#");continue;}printf("*");}printf("\n");}A) #*#*# B) ##### C) ***** D) *#*#*67、下面程序的输出结果是__________.#include<stdio.h>void main( ){ int x=10,y=10,i;for(i=0;x>8;y=++i)printf("%d %d ",x--,y);}A) 10 1 9 2 B) 9 8 7 6C) 10 9 9 0 D) 10 10 9 168、执行以下程序后,输出的结果是__________.#include<stdio.h>void main( ){ int y=10;do {y--;}while (--y);printf("%d\n",y--);}A) -1 B) 1 C) 8 D) 069、有如下程序#include<stdio.h>void main( ){ int n=9;while(n>6) {n--;printf("%d",n);}}该程序段的输出结果是__________.A) 987 B) 876 C) 8765 D) 987670、有如下程序#include<stdio.h>void main( ){ int i,sum=0;for(i=1;i<=3;sum++) sum+=i;printf("%d\n",sum);}该程序的执行结果是___________.A) 6 B) 3 C) 死循环D) 071、以下循环体的执行次数是_______#include<stdio.h>void main( ){ int i,j;for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i);}A) 3 B) 2 C) 1 D) 072、在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为________.#include <stdio.h>void main( ){ char ch;while ((ch=getchar( ))!='\n'){ if (ch>='A' && ch<='Z') ch=ch+32;else if (ch>='a' && ch<'z') ch=ch-32;printf("%c",ch);}printf("\n");}A) ABCdef B) abcDEF C) abc D) DEF73、下面程序的输出结果是__________.main( ){int i,k=0, a=0, b=0;for(i=1;i<=4;i++){k++;if (k%2==0) {a=a+k; continue;}b=b+k;a=a+k;}printf("k=%d a=%d b=%d\n",k,a,b);}A) k=5 a=10 b=4 B) k=3 a=6 b=4C) k=4 a=10 b=3 D) k=4 a=10 b=4 74、执行下面程序段后,k的值是_________.int i,j,k;for(i=0,j=10;i<j;i++,j--)k=i+j;A) 9 B) 11 C) 8 D) 1075、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入。
c语言经典题目100题

c语言经典题目100题C语言经典题目100题C语言经典题目一直是程序员们提高编程技能和理解语言细节的重要手段之一。
在这篇文档中,我将为你准备100道C语言经典题目,帮助你更好地掌握和应用C语言的基础知识。
这些题目将涵盖C语言的各个方面,包括基本数据类型、运算符、流程控制、函数等。
请注意,本文所提供的代码示例可以供你借鉴参考,但请务必自行思考和尝试解决这些问题。
题目1:编写一个C程序,交换两个变量的值。
```c#include<stdio.h>int main(){int a = 5, b = 10;int temp;printf("交换前:a = %d, b = %d\n", a, b);temp = a;a = b;b = temp;printf("交换后:a = %d, b = %d\n", a, b);return 0;```题目2:编写一个C程序,判断一个数是奇数还是偶数。
```c#include<stdio.h>int main(){int num;printf("请输入一个整数:");scanf("%d", &num);if(num % 2 == 0)printf("%d 是偶数\n", num);elseprintf("%d 是奇数\n", num);return 0;}```题目3:编写一个C程序,求两个数的最大公约数。
```c#include<stdio.h>int main()int num1, num2;int gcd;printf("请输入两个正整数:");scanf("%d %d", &num1, &num2);for(int i = 1; i <= num1 && i <= num2; i++){if(num1 % i == 0 && num2 % i == 0)gcd = i;}printf("%d 和 %d 的最大公约数是 %d\n", num1, num2, gcd);return 0;}```题目4:编写一个C程序,判断一个数是否为素数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 按下述格式,从键盘输入一个整数加法表达式:操作数1+操作数2,然后计算并输出表达式的计算结果,形式如下:操作数1+操作数2=计算结果。
2. 输入两个整形数并打印,如果用户不慎输入了非法字符,那么程序提示“输入数据类型错误”。
3. 已知三角形的三边长a,b,c,要求编写程序,从键盘输入a,b,c的值,计算并输出三角形的面积(注意不存在的情况)。
4. 编程从键盘输入圆的半径r,计算并输出圆的周长和面积。
5. 任意从键盘输入一个三位整数,要求正确分离它的个位,十位和百位数,并分别在屏幕上输出。
6. 写一个函数实现统计一个输入的整形数的位数。
7. 编程计算方程ax*x+bx+c=0的根,a,b,c由键盘输入,只是用主函数来实现。
8. 编写三个函数,分别在b*b-4*a*c大于0、小于0、等于0时进行调用,并输出结果,在主函数中读入a、b、c的值。
9. 从键盘输入你和你朋友的年龄,变成判断谁的年龄大,并打印最大者的年龄。
10. 从键盘输入一个年份,判断该年是否是闰年,并输出结果。
11. 判断某人是否属于肥胖体型。
根据身高与体重因素,医务工作者经广泛的调查分析给出了以下按“体指数”对肥胖程度的划分:体指数t=w/h*h(w为体重,单位为kg,h为身高,单位为m)。
当t<18时,为低体重;当t介于18和25之间时,为正常体重;当t介于25和27之间时,为超重体重;当t≧27时,为肥胖。
编程从键盘输入你的身高h和体重w,根据上式,判断体重类型。
12. 利用switch语句将百分制成绩转化为五分制成绩。
13. 利用switch语句将五分制成绩转换成对应分数范围并输出。
14. 编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式:操作数1 运算符op 操作数2 计算表达式的值,指定的运算符为加减乘除。
15. 利用时间函数编写一个猜数程序。
16. 编程实现计算n的阶乘。
17. 利用函数递归实现计算n!。
18. 利用π/4=1-1/3+1/5-1/7……计算π的值直到最后一项的绝对值小于0.0001为止,要求统计总共累加了多少项。
19. 编程输出正三角格式的九九乘法表。
20. 编程输出下三角格式的九九乘法表。
21. 从键盘任意输入一个正整数,编程判断它是否是素数,若是素数,输出“YES”,否则输出“NO!”。
22. 编写一个程序实现输出1—100之间所有素数。
23. 编写一个程序实现输出任意指定m、n之间的所有素数。
24. 读入一个年份和月份,打印出该月有多少天(考虑闰年),用switch语句编程。
25. 打印所有的水仙花数。
所谓水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
(例159=1*1*1+3*3*3+5*5*5)26. 鸡兔同笼,共有98个头,386只脚,编程求鸡兔各多少只。
27. 用1元5角钱人名币兑换5分、2分和1分的硬币(每一种都要有)共一百枚,问共有几种兑换方案?并输出每种方案。
28. 三色球问题。
若一个口袋中放有12个球,其中有3个红色的,3个白色的,6个黑色的,从中任取8个球,问共有多少种不同的颜色搭配?29. 打印100以内整数的平方根表。
30. 编程打印一下图案:@@ @ @@ @ @ @ @@ @ @ @ @ @ @31. 设计一个函数,计算两个正整数的最小公倍数。
32. 设计一个函数,计算两个正整数的最大公约数。
33. 编程使二维数组a[m][n]按如下输入输出例:input 1 2 3 output 1 44 5 6 2 53 634.从键盘输入某班学生某门课的成绩(每班人数最多不超过40人,具体人数由键盘输入),试编程打印最高分及其学生序号。
35.从键盘输入五个数,利用冒泡法排序,输出排序后的结果。
36.从键盘输入五个数,利用选择法排序,输出排序后的结果。
37.从键盘任意输入五个学生的姓名,编程找出并输出按字典顺序排在最前面的学生姓名。
38.从键盘任意输入五个学生的姓名,编程找出并输出按字典顺序的五个学生姓名。
39.编程实现从键盘任意输入5个正整数,统计非负数个数,并计算非负数之和。
40.从键盘任意输入5个正整数,用函数编程实现将其中最大数和最小数的位置对换后,再输出调整后的数组。
41.输入5*5的矩阵,编程实现:求两条对角线上行、列下标均为偶数的各元素之积。
(提示(i==j)||(i+j==4)&&(i%2==0)&&(j%2==0))42.编程将下列矩阵中的元素向右移动一列,最后一行移至第一列。
1 9 35 10 2143.输入一行字符,统计其中的英文字符、数字字符、空格及其他字符的个数。
44.从键盘任意输入两个整数,利用指针变量作为函数参数,编程实现两数互换功能,然后将交换后的数据重新输出。
45.用字符指针编程实现字符串复制函数。
46.用字符指针编程实现求字符串长度函数。
47.编写一个程序,可以实现在一个数组中删除指定的元素。
如:数组元素为1,2,3,输入3,便删除3,输出1,2;若输入4,则继续输出1,2,3。
48.编程将若干字符串按字母顺序由小到大排序后输出。
(二维数组和指针数组均可)。
49.编程输入一个班的某课程的学生成绩,计算其平均分,然后输出,班级人数由键盘输入。
50.编程实现从键盘输入一个字符串,将其字符顺序颠倒后重新存放,并输出这个字符串(要求:使用头指针和尾指针来实现)。
51.编程判断输入的一串字符是否为“回文”。
所谓回文是指顺读和倒读都一样的字符串,如“ABCCBA”是回文。
52.用指针数组编程实现:从键盘任意输入一个数字表示月份值n,程序输出该月份的英文表示,若n不在1~12之间,则输出“Illegal month”。
("January","February","March","April"," May","June","July","Aguest","September","October","November","December")(课本308)53.从键盘任意输入5个整数,用函数编程实现计算最大值和最小值,并返回它们所在数组中的位置。
54.不使用函数strcat(),编程实现字符串连接函数(使用指针实现)。
55.不使用函数strcat(),编程实现字符串连接函数(使用数组实现)。
56.编程实现将二维数组a[m][n]任意向右平移i各单位,i<n,将数据在二维数组中的位置改变后在进行输出。
57.利用公式Cij=Aij+Bij计算m*n阶矩阵A和m*n阶矩阵B之和,并输出。
(提示:用二维数组实现矩阵相加)58.编写一个函数,利用数组实现对字符串的逆序排放并在主函数中输出。
59. 有如下数列,“1,1,2,3,5,8,13……”,编程实现输出其前20项,每行五个。
60.编程打印如下的杨辉三角11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 161.编写一个Insert()函数,实现对一个有序数列a[n]的插入。
62.编写一个Delet()函数,实现对一个有序数列某个特定元素的删除,释放其所占有的空间,并输出处理后的数组,若没有找到,则只输出not find!63.编程实现:任意输入英文星期几,在查找星期表后输出对应的数字。
若为查找到,则输出Not find!0 Sunday1 Monday2 Tuesday3 Wednesday4 Thursday5 Friday6 Saturday64.编写一个计算任意m行n列的二维数组中元素的最大值,并指出其所在的行列的函数FindMax()。
假设利用FindMax()计算3个班每班4个学生的某门成绩的最高分,并指出其所在的行列。
65.利用动态内存分配实现:编程输入一个班的某门课成绩,计算平均分,然后输出。
班级人数由键盘输入。
66. 利用动态内存分配实现:编程输入m个班(每班n个学生)某门课的成绩,计算最高分,并指出具有最高分的学生是第几个班的第几个学生。
67.利用指针,编程实现对于长度为n的字符串输出n次,每次较上次首字符不再输出。
例如:”abcde”,依次输出abcde bcde cde de e 。
68.结构体数组应用:模拟洗牌和发牌过程。
一副扑克有52张,分4种花色(Suit),黑桃(Spades),红桃(Hearts),草花(Clubs),方块(Diamonds)。
每种花色有分13张牌面(Face):A,2,3,4,5,6,7,8,9,10,Jack,Queen,King。
编程完成洗牌和发牌过程。
(难度很大)69编写一个程序实现给出年月日,计算该日是该年的第几天。
70.给出年份和该年第几天,输出这天是该年的几月几日。
71. .编写一个函数,求一个给定数的所有因子。
如72=2*2*2*3*3.72. 编写一个函数,利用循环调用函数依次返回两个整数m,n的所有公约数。
例如100,50 返回值依次为 50,25,10,5,2.73. 写一个函数,实现计算n!,通过主函数调用,实现计算组合数。
74. 有一行文字,要求删去其中某个字符。
此行文字和要删的字符均由键盘输入,要删的字符以字符形式输入(如输入a表示要删去所有的字符a).75.输入一行字符,统计其中多有少个单词。
假设单词之间以空格分开。
(提示:判断是否有新单词出现的方法—当前被检字符不是空格,而前一被检字符不是空格,则表示有新单词出现)76.编写一个函数实现Mystrcmp()用于实现strcmp()的功能,,将两个字符串进行比较,,然后将两个字符串中第一个比相同的字符的ASCII码值之差作为返回值返回。
77. 写一个函数,判断自身不存在相同字符的两个字符串是否可以通过重排字符而得到,例如dare和read、dear都有这种关系。
78. 输入10个整数,将其中最小的数与第一个数交换,最大的数与最后的一个数对换。
写三个函数:1)输入10个数 2)进行处理 3)输出10个数79. 有n个整数,使前面各数向后平移m个位置,最后m个数变成最前的m 个数。
例1 2 3 4 5 前移两位3 4 5 1 2,改变数据在计算机内存中的位置,并进行输出。
80. 在主函数中输入10个等长的字符串。
用一个函数对它们排序,然后在主函数输出10个已排好序的字符串。
81. 在主函数中输入10个任意长度的字符串。
用一个函数对它们排序,然后在主函数输出10个已排好序的字符串。
82.利用一维数组实现替代二维数组来完成对m*n阶数组的转置。