40个C语言的基础编程题

合集下载

C语言编程题经典40题(附解答)

C语言编程题经典40题(附解答)
字符串
字符串在C语言中通常表示为字符数组。可以通过字符数组来存储和操作字符串。字符串的常用函数 包括strcpy()、strcat()、strlen()等。
03
进阶题目
函数与递归
总结词
理解函数定义、参数传递、递归调用等概念,掌握函数的使用方法。
题目1
编写一个函数,判断一个整数是否为素数。
题目2
编写一个函数,计算斐波那契数列的第n项。
培养逻辑思维
C语言强调结构化和严谨 的编程风格,学习C语言 有助于培养逻辑思维和问 题解决能力。
为什么选择这40道题目
经典题目
精选的40道题目均来自经典的C语言题目库,具有较高的代表性和难 度。
覆盖面广
题目涵盖了C语言的主要知识点,包括数据类型、控制结构、函数、 指针等,有助于全面提升编程能力。
难度适中
实现二叉树的基本操作(创建、插 入、删除、遍历)
题目12
实现堆排序算法
04
THANKS
感谢观看
01
02
文件打开
使用fopen()函数打开文件,并返回一 个FILE类型的指针。
03
文件读取
使用fscanf()、fgets()等函数从文件中 读取数据。
文件关闭
使用fclose()函数关闭文件。
05
04
文件写入
使用fprintf()、fputs()等函数将数据写 入文件。
动态内存分配
总结词
动态内存分配允许程序员在运行时根 据需要分配或释放内存,提高了程序 的灵活性和可扩展性。
数组与字符串
01
理解数组的概念和使用方法
02
掌握字符串的存储和操作
03
熟悉数组和字符串的常用函数

40个C语言的基础编程题

40个C语言的基础编程题

{ sn=sn+2*hn;/*第 n 次落地时共经过的米数*/ hn=hn/2; /*第 n 次反跳高度*/ printf("the total of road is %f\n",sn); printf("the tenth is %f meter\n",hn);} }
再加上 168 又是一个完全平方数, 请问该数是多少? 1.程序分析:在 10 万以内判断,先将该数加上 100 后再开方,再将该数加上 268 后再开方,如果开方后 的结果满足如下条件,即是结果。请看具体分析: 2.程序源代码: #include "math.h" main() { long int i,x,y,z; for (i=1;i<100000;i++) { x=sqrt(i+100); 果*/ y=sqrt(i+268); 结果*/ if(x*x==i+100&&y*y==i+268)/*如果一个数的 平方根的平方等于该数,这说明此数是完全平方数*/ printf("\n%ld\n",i); }} ======================================== 【程序 12】 题目:输入三个整数 x,y,z,请把这三个数由小到大 输出。 1.程序分析:我们想办法把最小的数放到 x 上,先将 x 与 y 进行比较, 如果 x>y 则将 x 与 y 的值进行交换, 然后再用 x 与 z 进行比较, 如果 x>z 则将 x 与 z 的值 进行交换,这样能使 x 最小。 2.程序源代码: main() {int x,y,z,t; /*以下为三重循环*/ scanf("%d%d%d",&x,&y,&z); if (x>y) {t=x;x=y;y=t;} /*交换 x,y 的值*/ /*确保 i、j、 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);} ======================================== 【程序 13】 题目:用*号输出字母 C 的图案。 /*y 为再加上 168 后开方后的 /*x 为加上 100 后开方后的结

C语言经典编程100题(答案版)

C语言经典编程100题(答案版)

C语言经典程序100题(答案版)【程序1】题目:企业发放的奖金根据利润提成。

利润(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.程序源代码:1.#include"stdio.h"2.#include"conio.h"3.main()4.{5.long int i;6.int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;7.scanf("%ld",&i);8.bonus1100000*0.1;9.bonus2bonus1+100000*0.75;10.bonus4bonus2+200000*0.5;11.bonus6bonus4+200000*0.3;12.bonus10bonus6+400000*0.15;13.if(i<100000)14.bonus i*0.1;15.else if(i<200000)16.bonus bonus1+(i-100000)*0.075;17.else if(i<400000)18.bonus bonus2+(i-200000)*0.05;19.else if(i<600000)20.bonus bonus4+(i-400000)*0.03;21.else if(i<1000000)22.bonus bonus6+(i-600000)*0.015;23.else24.bonus bonus10+(i-1000000)*0.01;25.printf("bonus%d",bonus);26.getch();27.}【程序2】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

c语言编程题库100题

c语言编程题库100题

c语言编程题库100题C语言是一门广泛应用于计算机领域的高级编程语言。

对于学习者来说,掌握C语言编程是一项必修课程。

为此,我们为大家整理了100道C语言编程题,供大家练练手,锻炼编程能力。

以下是题目列表:##### 基础篇1、编写一个C程序,输出“Hello, World!”。

2、编写一个C程序,输入两个数,求和并输出结果。

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程序,输入一个字符串,统计字符串中的单词个数并输出结果。

c语言入门练习题

c语言入门练习题

C语言入门练习题一、基础知识篇1.1 变量与常量1. 定义一个整型变量并赋值为10。

2. 声明一个浮点型常量,其值为3.14。

3. 将字符型变量 'A' 赋值给另一个字符型变量。

1.2 数据类型1. 将一个整型变量转换为浮点型变量。

2. 将一个长整型变量赋值给一个短整型变量。

3. 编写一个程序,输出不同数据类型所占的字节数。

1.3 运算符1. 计算5加3乘2的结果。

2. 判断两个整型变量是否相等。

3. 使用自增运算符使变量i的值增加1。

二、控制结构篇2.1 顺序结构1. 编写一个程序,输出1到10的整数。

2. 输出用户输入的两个整数中的较大值。

3. 计算并输出圆的面积(给定半径)。

2.2 选择结构1. 判断一个整数是正数、负数还是零。

2. 根据用户输入的成绩,输出对应的等级(A、B、C、D、E)。

3. 编写一个程序,实现石头剪刀布的游戏。

2.3 循环结构1. 计算1到100所有整数的和。

2. 输出所有的水仙花数(一个三位数,其各位数字的立方和等于该数本身)。

3. 使用循环结构输出九九乘法表。

三、函数篇3.1 函数定义与调用1. 编写一个函数,计算两个整数的和。

2. 定义一个函数,实现字符串的复制。

3. 创建一个函数,判断一个数是否为素数。

3.2 递归函数1. 使用递归函数计算斐波那契数列的第n项。

2. 编写一个递归函数,实现字符串的逆序输出。

3. 利用递归函数求解汉诺塔问题。

四、数组篇4.1 一维数组1. 初始化一个包含10个整数的数组,并输出其元素。

2. 计算一维数组中所有元素的和。

3. 找出一维数组中的最大值和最小值。

4.2 二维数组1. 创建一个3行4列的二维数组,并输出其元素。

2. 计算二维数组对角线元素的和。

3. 实现矩阵的转置。

五、指针篇5.1 指针基本操作1. 声明一个整型变量和一个指向该变量的指针,并输出指针所指向的值。

2. 使用指针实现两个整数的交换。

3. 编写一个函数,通过指针参数修改传入的字符串。

c语言入门100题

c语言入门100题

c语言入门100题C语言是一种广泛应用于计算机编程的高级编程语言,它简洁、高效、灵活,被广泛应用于软件开发、嵌入式系统、游戏开发等领域。

对于初学者来说,掌握C语言的基本语法和常用函数是非常重要的。

下面将介绍一些C语言入门的100道题目,帮助初学者快速入门。

1. 输出"Hello, World!"。

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. 输入一个字符串,将其中的标点符号移到字符串的开头。

c语言程序基础练习题500道(附答案)

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语言基础练习100题(含答案)

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=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、执行下面程序中的输出语句后,输出结果是______.#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) 100C) 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) 12 20、若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==14 C) 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,-146、运行下面程序时,若从键盘输入数据为"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) 1050、执行下面程序的输出结果是________.#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,8 D)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 3 60、下面程序的运行结果是________.#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) 1C) 8D) 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=474、执行下面程序段后,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基础编程试题及答案

c基础编程试题及答案

c基础编程试题及答案1. 以下哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. 在C语言中,哪个关键字用于定义一个函数?A. classB. functionC. defD. void答案:D3. C语言中,用于表示逻辑“与”操作的运算符是什么?A. &&B. ||C. !D. =答案:A4. 以下哪个选项是C语言中的整型数据类型?A. intB. floatC. doubleD. char答案:A5. 在C语言中,如何声明一个指向整型的指针变量?A. int *ptr;B. *int ptr;C. ptr int;D. int *ptr;答案:A6. C语言中,哪个函数用于计算数组中的元素个数?A. sizeofB. countC. lengthD. size答案:A7. C语言中,用于输出格式化字符串的函数是什么?A. printfB. scanfC. sprintfD. fprintf答案:A8. 在C语言中,哪个关键字用于定义一个结构体?A. structB. typeC. classD. union答案:A9. C语言中,哪个运算符用于计算两个整数的差?A. -B. +C. /D. *答案:A10. 在C语言中,如何声明一个具有10个元素的整型数组?A. int array[10];B. int array[];C. int array[10] = {0};D. int array = 10;答案:A。

C语言编程基础考试试题

C语言编程基础考试试题

C语言编程基础考试[考前说明]本题目中不考虑头文件引用问题(假定已经包含正确的头文件),C语言的标准函数都可用;如果不特别说明,假定程序运行环境为:操作系统Windows 2000, VC6.0编译环境,缺省为四字节对齐,X86(80586)CPU处理器(32位小字节序处理器).一、单选题1、给出以下定义:char acX[ ]= "abcdefg";char acY[ ]= {'a','b','c','d','e','f','g'};则正确的叙述为( )A) 数组acX和数组acY等价 B) 数组acX和数组acY的长度相同C) 数组acX的长度大于数组acY的长度 D) 数组acX的长度小于数组Y的长度2、void example(char acHello[]){printf("%d", sizeof(acHello));return;}void main(){char acHello[] = "hello";example(acHello);return;}的输出是( )A 4B 5C 6 D不确定3、以下叙述中不正确的是( )A) 在不同的函数中可以使用相同名字的变量B) 函数中的形式参数是在栈中保存C) 在一个函数内定义的变量只在本函数范围内有效D) 在一个函数内的复合语句中定义的变量在本函数范围内有效(复合语句指函数中的成对括号构成的代码)4、设有如下定义:unsigned long pulArray[] = {6, 7, 8, 9, 10};unsigned long *pulPtr;则下列程序段的输出结果为( )pulPtr = pulArray;*(pulPtr + 2) += 2;printf ("%d,%d\n", *pulPtr, *(pulPtr + 2));A)8,10 B)6,8 C)7,9 D)6,105、有以下程序段char acArr[]= "ABCDE";char *pcPtr;for(pcPtr = acArr; pcPtr < acArr + 5; pcPtr++){printf("%s\n", pcPtr);}return;输出结果是( )A) ABCD B) A C) E D) ABCDEB D BCDEC C CDED B DEE A E6、void example( ){int i;char acNew[20];for(i = 0; i < 10; i++){acNew[i] = '0';}printf("%d\n", strlen(acNew));return;}的输出为( D )A 0B 10C 11 D不确定7、switch(c)中的c的数据类型可以是char、long、float、unsigned、bool. ( )A. 正确B. 错误8、全局变量可以定义在被多个.C文件包含着的头文件中。

c语言入门编程基础100题

c语言入门编程基础100题

c语言入门编程基础100题C语言是一种广泛应用于计算机编程的高级编程语言,它具有简洁、高效、灵活等特点,因此成为了许多程序员的首选。

对于初学者来说,掌握C语言的基础知识是非常重要的。

下面是一些C语言入门编程基础题目,帮助初学者巩固基础知识。

1. 编写一个程序,输出"Hello, World!"。

2. 编写一个程序,输入两个整数,然后输出它们的和。

3. 编写一个程序,输入一个整数,然后输出它的平方。

4. 编写一个程序,输入一个整数,然后输出它的绝对值。

5. 编写一个程序,输入一个字符,然后输出它的ASCII码。

6. 编写一个程序,输入一个字符,然后判断它是否为大写字母。

7. 编写一个程序,输入一个字符,然后判断它是否为小写字母。

8. 编写一个程序,输入一个字符,然后判断它是否为数字。

9. 编写一个程序,输入一个字符,然后判断它是否为字母。

10. 编写一个程序,输入一个字符,然后判断它是否为特殊字符。

11. 编写一个程序,输入一个年份,然后判断它是否为闰年。

12. 编写一个程序,输入一个整数,然后判断它是否为素数。

13. 编写一个程序,输入一个整数,然后输出它的阶乘。

14. 编写一个程序,输入一个整数,然后输出它的倒数。

15. 编写一个程序,输入一个整数,然后输出它的二进制表示。

16. 编写一个程序,输入一个整数,然后输出它的十六进制表示。

17. 编写一个程序,输入一个整数,然后输出它的八进制表示。

18. 编写一个程序,输入一个整数,然后输出它的十进制表示。

19. 编写一个程序,输入一个字符串,然后输出它的长度。

20. 编写一个程序,输入一个字符串,然后输出它的反转字符串。

21. 编写一个程序,输入一个字符串,然后判断它是否为回文字符串。

22. 编写一个程序,输入一个字符串,然后判断它是否为有效的IP 地址。

23. 编写一个程序,输入一个字符串,然后判断它是否为有效的邮箱地址。

24. 编写一个程序,输入一个字符串,然后判断它是否为有效的手机号码。

C语言编程题100道

C语言编程题100道

1: 第1题 m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。

答案:int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。

答案:void fun(int *a, int *n){int i,j=0;for(i=2;i<1000;i++)if ((i%7==0 || i%11==0) && i%77!=0)a[j++]=i;*n=j;}3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。

答案:void fun(int x, int pp[ ], int *n){int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=I;j++;}for(i=0;i<j;i++)if(x%t[i]==0){pp[k]=t[i];k++;}*n=k;}4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。

答案:void fun(char *tt, int pp[]){int i;for (i=0;i<26;i++)pp[i]=0;while (*tt){switch (*tt){case ‘a’: pp[0]++;break;case ‘b’: pp[1]++;break;case ‘c’: pp[2]++;break;case ‘d’: pp[3]++;break;case ‘e’: pp[4]++;break;case ‘f’: pp[5]++;break;case ‘g’: pp[6]++;break;case ‘h’: pp[7]++;break;case ‘i’: pp[8]++;break;case ‘j’: pp[9]++;break;case ‘k’: pp[10]++;break;case ‘l’: pp[11]++;break;case ‘m’: pp[12]++;break;case ‘n’: pp[12]++;break;case ‘o’: pp[14]++;break;case ‘p’: pp[15]++;break;case ‘q’: pp[16]++;break;case ‘r’: pp[17]++;break;case ‘s’: pp[18]++;break;case ‘t’: pp[19]++;break;case ‘u’: pp[20]++;break;case ‘v’: pp[21]++;break;case ‘w’: pp[22]++;break;case ‘x’: pp[23]++;break;case ‘y’: pp[24]++;break;case ‘z’: pp[25]++;break;}tt++;}}5: 第5题请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k各素数存入xx所指的数组中。

基础的c语言程序试题及答案

基础的c语言程序试题及答案

基础的c语言程序试题及答案基础的C语言程序试题及答案1. 题目:编写一个C语言程序,计算并输出1到100之间所有奇数的和。

答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 != 0) {sum += i;}}printf("1到100之间所有奇数的和为:%d\n", sum);return 0;}```2. 题目:编写一个C语言程序,实现一个简单的计算器,能够进行加、减、乘、除运算。

答案:```c#include <stdio.h>int main() {double num1, num2;char operator;double result;printf("请输入第一个数字:");scanf("%lf", &num1);printf("请输入运算符(+,-,*,/):"); scanf(" %c", &operator);printf("请输入第二个数字:");scanf("%lf", &num2);switch (operator) {case '+':result = num1 + num2;break;case '-':result = num1 - num2;break;case '*':result = num1 * num2;break;case '/':if (num2 != 0) {result = num1 / num2;} else {printf("除数不能为0\n");return 1;}break;default:printf("无效的运算符\n");return 1;}printf("%.2lf %c %.2lf = %.2lf\n", num1, operator, num2, result);return 0;}```3. 题目:编写一个C语言程序,实现字符串的反转。

c语言必做100题

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语言编程50题(含答案)

计算机系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语言入门100题目

c语言入门100题目

c语言入门100题目
学习C语言对于初学者来说是一个很好的选择。

下面我将列举一些入门级别的C语言练习题目,希望对你有所帮助。

1. 编写一个程序,输出"Hello, World!"。

2. 编写一个程序,接受用户输入的两个整数,然后输出它们的和。

3. 编写一个程序,计算并输出1到100的和。

4. 编写一个程序,判断一个输入的整数是奇数还是偶数。

5. 编写一个程序,接受用户输入的年份,判断该年份是否为闰年。

6. 编写一个程序,找出一个数组中的最大值和最小值。

7. 编写一个程序,将一个字符串反转。

8. 编写一个程序,接受用户输入的数字n,计算并输出1到n
的阶乘。

9. 编写一个程序,接受用户输入的字符,判断该字符是字母、
数字还是其他字符。

10. 编写一个程序,实现一个简单的计算器,能够进行加、减、乘、除运算。

以上是一些入门级别的C语言练习题目,希望能够帮助你开始
学习C语言编程。

如果你对这些题目有任何疑问,欢迎随时向我提问。

祝你学习顺利!。

C语言基础练习100题含标准答案

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语言编程题_经典40题(附解答)

C语言编程题_经典40题(附解答)

9、编写函数,将两个递增有序的表,合并成一 个递增有序的表。
#define N 50
#define SeqList struct seqlist
SeqList
{ int data[N];
int length;
};
合并函数如下: SeqList *mergelist(a,b) SeqList a,b; { SeqList c; int i=0, j=0, k=0; while((i<a.length)&&(j <b.length)) if(a.data[i])<=b.data[j]) c.data[k++]= a.data[i++]); else c.data[k++]= b.data[j++]); while(i<a.length) c.data[k++]= a.data[i++]); while (j <b.length) c.data[k++]= b.data[j++]); c.length=k; return c; }
(6)一旦出现a[i]小于x,则将x插入到i+1位置。
(7)输出插入后的有序序列。
(3)完整的程序如下 #include ―stdio.h‖ #define N 10 main( ) { int i , j, x, n, a[N]; /*数字a的最大容量为N*/ printf(―请输入数组的实际元素个数n:\n‖); scanf(―%d‖, &n ); /*要求实际元素个数n小于N */ printf(―请输入%d个整数:\n‖, n ); for( i=0; i<n; i++) scanf(―%d‖, &a[i]); selectsort(a , n) ; /*排序*/ output ( a, n);/*输出插入前的序列*/ scanf(―%d‖, &x ); /*读入要插入的元素x */ i=n-1; /*从表尾往表头方向搜索插入位置*/ while (( i >=0) && ( x <a[i])) {a[i+1]=a[i]; i--;} /*元素后移*/ a[i+1]=x; /*插入元素x*/ output( a, n);/*输出插入后的序列*/ }

c语言基础编程训练题

c语言基础编程训练题

c语言基础编程训练题注意:部分代码双引号中英文有问题,自己调整!1.输入2个整数,求两数的平方和并输出。

#include <stdio.h>main(){ int a,b,s;printf("please input a,b:\n");scanf("%d%d",&a,&b);s=a*a+b*b;printf("the result is %d\n",s);}2. 输入一个圆半径(r)当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。

#include <stdio.h>#define PI 3.14 <stdio.h>main(){ float r ,s , l;printf("please input r:\n");scanf("%f",&r);if(r>=0){s=pi*r*r;l=2*i*r ;printf("the area is %f\n",s);printf("the circumference is %f\n",l);}elseprintf("input error!\n");}3、函数y=f(x)可表示为:2x+1 (x<0)y= 0 (x=0)2x-1 (x>0)编程实现输入一个x值,输出y值。

main(){int x,y;scanf("%d",&x);If(x<0)y=2*x+1;If(x>0)y=2*x-1;If(x==0) y=0;printf(“%d”,y);}4、编写一个程序,从4个整数中找出最小的数,并显示此数。

main( ){int a,b,c,d,t;scanf ("%d,%d,%d,%d",&a,&b,&c,&d);if (a>b){t=a; a=b; b=t;}if (a>c){t=a; a=c; c=t;}if (a>d){t=a; a=d; d=t;}printf ("min = %d \n",a);}5.有一函数当x<0时y=1,当x>0时,y=3,当x=0时y=5,编程,从键盘输入一个x值,输出y值。

c语言入门基础100题

c语言入门基础100题

c语言入门基础100题设有语句:printf("%2d\n",2010);,则以下叙述正确的是A)程序运行时输出 2010B)程序运行时输出 20C)程序运行时输出 10D)指定的输出宽度不够,编译出错答案:A以下选项中,与 k = n++完全等价的表达式是A)k=n, n=n+1B)n=n+1, k=nC)k = ++nD)k += n+1答案:A以下叙述中错误的是A)在一个程序中,每个模块均可以独立编译运行B)程序“模块化”有利于任务的分解简化C)允许对函数单独进行编译,是 C 语言实现“模块化”的基础D)采用模块化结构,可以提高编程效率答案:A以下叙述中错误的是A) main()是 C 语言主函数的起始行B) main()作为主函数必须位于源程序的起始位置C)main()是 C 程序执行的起始行D)main 是不可替代的主函数名答案:B以下叙述中错误的是A)若用户标识符的命名与预定义标识符相同,则命名无效B)若用户标识符的命名与关键字相同,将产生编译错误C)若用户标识符的命名与预定义标识符相同,则预定义标识符失去原有含义D)若用户标识符的命名与预定义标识符相同,则可能引发运行错误答案:A以下不属于 C 语言整型常量的是A) 0XaB)0LC) -018D)200U答案:C若有如下定义和语句:double x=1.5;x++;则以下叙述中正确的是A)变量 x 经自增 1 运算后的值是 2.5B)x 是实型变量,不可以做自增 1 运算C)变量 x 经自增 1 运算后的值是 1.6D)变量 x 经自增 1 运算后的值是 2.0答案:A设有定义:double x;,以下选项中不能将输入数据 3.14 读入赋给变量 x 的是A) scanf("%4lf",&x);B)scanf("%lf",&x);C)scanf("%le",&x);D) scanf("%4.2f",&x);答案:D以下说法正确的是A)C 语言程序运行时可以从键盘上读入用户输入的字符或数据,并依此改变程序的运行步骤B)C 语言程序运行时可以从键盘上读入用户以二进制输入的指令,并执行这些指令C)C语言程序运行时可以从键盘上读入用户输入的C源程序并逐行执行D)C 语言程序运行时可以从键盘上读入用户输入的 C 源程序并附加到本程序的尾部一并执行答案:A以下说法错误的是A)程序模块化的目的之一是提高程序的执行速度B)程序模块化的目的之一是提高程序编制的效率C)程序模块化的目的之一是提高程序代码复用率D)程序模块化的目的之一是提高调试程序的效率答案:A以下属于 C 语言标识符的是A) 6 6 6B)#6#C)@6@D) 6答案:D以下属于 C 语言实型常量的是A)6e+6B)e6+6C)+6eD).e+6答案:A以下说法正确的是A)赋值语句是一种可执行语句,应当出现在函数的可执行部分B)赋值语句可以出现在函数中的任意位置C)赋值语句可以出现在函数外单独执行D)赋值语句可以出现在源程序中的任意位置答案:A若有程序段char c;scanf("%lf%c", &d, &c);如果想把 2.3 输入给变量 d,字符’f’输入给变量 c,程序运行时正确的输入是A)2.3fB)2.3 fC)2.3’f’D)2.3 ‘f’答案:A以下叙述中正确的是A)循环结构、选择结构、顺序结构是结构化程序的三种基本结构B)计算机能直接运行未经编译的 C 语言程序C)复杂算法不能使用 N-S 流程图来描述D)计算机能够直接处理不超过 20 行源码的简单 C 语言程序答案:A以下叙述中正确的是A) 程序要包含全部基本结构才是结构化程序B) 任何复杂问题都可以使用只包含三种基本结构的算法来解决C)不运行程序是不能发现程序中的语法错误的D)C 语言程序需要包含 MAIN 函数答案:B以下选项中,合法的 C 语言常量是A)1.01C)”\2.0D)2.0Kb答案:A以下选项中,合法的 C 语言实数是A) 0.1e0.1B) .1e0C)E10D)14.12E答案:B设 a、b、c 是已定义的整型变量且已正确赋初值,以下赋值语句中,错误的是A)a = (b = 3) = 1;B)a = (b = 0) + c + 0;C)a = b = c + 0;D)a = 0 + (b = c = 0);答案:A有如下程序#include <stdio.h>main(){int x = 072;printf(">%d<\n", x+1);}程序运行后的输出结果是B)>73<C)>142<D)>073<答案:A若变量已经定义且正确赋值,则针对程序段:temp=a; a=b; b=temp;以下叙述中正确的是A)此段程序是从左至右依次执行B)C 语言的顺序结构不允许将多条语句写在一行里C)此程序段的执行顺序是,先执行 b=temp;,再执行 a=b;,最后执行 temp=a;D)将此段程序的前两个分号改成逗号,后面一个不变,则不能实现a 和 b 中值的交换答案:A设变量 a,b 和 ch 已正确定义并赋初值,则以下叙述中错误的是A)语句 ch=(unsigned int) a+b;是对 a 与 b 之和进行强制类型转换,结果赋值给变量 chB)运算符%的运算对象只能是整数类型C)逗号表达式的值是最后一个表达式的运算结果D)复合运算:a*=b+ch 是将变量 b、ch 之和与 a 相乘,结果再给a 赋值答案:A有如下两个传统流程图(a)和(b):以下关于两个流程图特点的叙述正确的是A) 两个表达式逻辑相同时,流程图功能等价B)语句 2 一定比语句 1 多执行一次C) 语句 2 至少被执行一次D)两个表达式逻辑相反时,流程图功能等价答案:C以下可以正确且安全的用作用户标识符的一组选项是A) Switch, unsignedB) _32int, long64C)Abc, getchD)3break, enter答案:B以下关于运算符"/"的叙述正确的是A)只有其两边运算对象的类型都是整型时,所做运算为整数整除运算B)总是进行双精度除法运算C)总是进行单精度除法运算D)不允许 char 型对象参与运算答案:A若有定义:char ch; int a; double d;,当输入为12345 678910.36 时,以下选项中能给各个变量正确输入数据的是A)scanf("%d%c%lf",&a,&ch,&d);B)scanf("%5d%2c%7.2lf",&a,&ch,&d);C)scanf("%d%c%lf",a,ch,d);D)scanf(“5d%2c%7.2lf%”,&a,&ch,&d);答案:A以下叙述中错误的是A).OBJ 文件和.EXE 文件都是可直接执行的二进制文件B)用户按规定语法编写的 C 程序不是二进制文件C)C 源程序经编译无误后将生成一个 .OBJ 的二进制文件D).OBJ 文件经“连接程序”生成的.EXE 文件是二进制文件答案:A以下关于注释的叙述中错误的是A)注释的边界符号“/”和“/”必须成对出现且可以嵌套B)C 语言允许注释出现在程序中任意合适的地方C)注释的内容仅用于阅读,对程序的运行不起作用D)注释的边界符号“/”和“*”之间不允许加入空格答案:AC 语言常量的类型从字面形式上可区分,以下判断中正确的是A) ‘\025’—字符串B)2E3 —整型C) 2.0E3 —实型D)“a”—字符型答案:C以下选项中,算术表达式的值与其他三个不同的是A)3/5B)3./5C)3/5.D)3.0/5.0答案:A设有定义:int k=3,i=2; 以下选项中,变量 k 的值与其他三个不同的是A) k=–i;B) k=i–;C)k=i-1;D)k-=i;答案:B设有如下语句:int k=0;k=printf(“OK\n”);则以下叙述中正确的是A)变量 k 得到的是输出字符的总个数 3B)变量 k 得到的是输出的可见字符个数 2C)printf 必须作为独立语句出现D)变量 k 仍保持初值 0答案:A以下说法正确的是A)C 语言被称为“高级语言”是因为它用接近人们习惯的自然语言和数学语言作为表达形式,使人们学习和操作起来感到十分方便B)C 语言被称为“高级语言”是因为它能接受和处理由 0 和 1 的代码构成的二进制指令或数据C)C 语言被称为“高级语言”是因为计算机能直接识别并执行由这种语言编写的程序D)C 语言被称为“高级语言”是因为它是用来开发高级软件的语言答案:A以下说法错误的是A) C 语言提供了定义函数的功能B) C 语言提供了定义函数和子程序的功能C)C 语言中没有子程序的概念D)C 语言既有库函数也可以自定义函数答案:B以下是正确 C 语言标识符的是A)8B)8C)8D)-8-答案:A以下是正确 C 语言实型常量的是A) e+8B) +8.8e+8C)+8e.8D).8e+8.答案:B算术运算符和圆括号有不同的运算优先级,对于表达式:a+b+c*(d+e),关于执行顺序,以下说法正确的是A)先执行 a+b 得 r1,再执行(d+e)得 r2,再执行 cr2 得 r3,最后执行 r1+r3 得表达式最后结果B)先执行(d+e)得 r2,再执行 cr2 得 r3,再执行 a+b 得 r1,最后执行 r1+r3 得表达式最后结果C)先执行(d+e)得 r2,再执行 cr2 得 r3,再执行 b+r3 得 r4,最后执行 a+r4 得表达式最后结果D)先执行 a+b 得 r1,再执行 r1+c 得 r5,再执行(d+e)得 r2,最后执行 r5r2 得表达式最后结果答案:A若有程序段:int a,b; char d;scanf("%d%c%d", &a, &d, &b);若想把 12 输入给变量 a,字符’k’输入给变量 d,34 输入给变量 b,程序运行时正确的输入是A) 12’k’34B)12 k 34C) 12k34D)12 ‘k’ 34答案:C以下叙述中正确的是A)一个程序要被称为结构化程序,则只能包含循环结构、选择结构、顺序结构B)C 语言源程序即使不编译,也是可以直接运行的C)使用 N-S 流程图只能描述简单的算法D)复杂算法是指不能分解成子任务的算法答案:A下面说法正确的是A)使用只包含三种基本结构的算法可以求解复杂的问题B)C 语言源程序需要把所有过长的函数保存在单独的源文件中才能通过编译C)有一些特殊的程序语法错误,只有在运行时才能被发现D)一些完成简单任务的 C 语言程序,可以不包含 main()函数答案:A以下选项中,合法的 C 语言常量是A) “C++’B) 9.01C)\0.0”答案:B以下选项中,合法的 C 语言实数是A) .2e1B)3.1e3.1C)E09D)1.23E答案:A设 a,b,c 是整型变量且已正确赋有初值,以下选项中的赋值表达式错误的是A)a = (b = 0) = 8B)a = (b = 1) + c + 1C)a = b = c + 1D)a = 8 + (b = c = 1)答案:A有如下程序#include <stdio.h>main(){int x = 032;printf("%d\n", x);}程序运行后的输出结果是A) 32B) 26D)50答案:B以下叙述正确的是A)对于只包含表达式语句的程序段,执行顺序与书写顺序一致B)C 程序的执行是从源文件的开头,一行一行向下执行,每行都会被执行到C)C 程序的执行一定是从主函数开始,从主函数结束D)每个 C 源文件都应当有一个主函数答案:A以下叙述正确的是A)使用符号\可以将一条#include 命令写在多行里B)#include <stdio.h> 是 C 程序的一条语句C)一个#include 行可以包含多个文件,文件名用逗号分开D)一个#include 行可以包含多个文件,且最后一个文件起作用答案:A以下选项中,合法的 C 语言标识符是A) a-bB)%XC)_test!D) _123答案:D下面不合法的常量数据是A)’\0123321’B)0x3f7b8a90C)’\0x6d’D).023E-5答案:A以下说法正确的是A)复合语句中包含的语句种类没有限制B)复合语句中不能有分支语句C)复合语句中不能有循环语句D)一条复合语句不能超过 50 行答案:A若有定义:int a,b,c;,想通过语句:scanf("%d,%d%d",&a,&b,&c);把 1、2、3 分别输入给变量 a、 b、c,则正确的键盘输入是A)1,23<回车>B)1,2,3<回车>C)1<回车>23D)1<回车>2<回车>3答案:A以下叙述中正确的是A)C 语言既可以用来编写系统软件,又可以用来编写应用软件B)机器中只要安装有任一种编译程序,就能对 C 源程序进行编译C)若程序中不使用 C 语言提供的库函数,则可以不运行连接程序D)调试程序时若发现语法错误,改正后即可直接运行,无需再次编译答案:A以下叙述中正确的是A) 一个正确的算法可以没有输出结果B) 一个正确的算法可以不需要输入数据C)传统流程图使用方便灵活,但无法描述复杂的算法D)N-S 流程图不能用于描述复杂的算法答案:B以下叙述中正确的是A)C 语言标识符的规定长度因系统而异B)C 语言编译系统对标识符的长度没有规定C)C 语言规定标识符长度最多允许 16 个字符,超长报错D)C 语言规定以下划线开头的标识符长度必须大于 1答案:A以下完全正确的一组常量是A)0x0 123.B)01a .12e3C)0.3L 1.2e-1D)-12U 12.E0答案:A与数学式对应的 C 语言表达式是A)(pow(x,2)-pow(y,2))cos(3.141592645/180)B)(pow(2,x)-pow(2,y))cos(3.141592645/180)C)(xx-yy)*cos(45)D)(x2-y2)*cos(45)答案:A设有定义语句:double x=123.456;则语句printf("%6.2f,%3.0f\n",x,x);的输出结果是A) 123.45,123B) 123.46,123C)123.46,123.0D)123.45,123.答案:B以下叙述错误的是A)C 语言中提供了子程序的概念,可以和函数完成一样的功能B)C 语言允许对函数单独进行编译,可以实现模块化C)C 语言提供了丰富的数据类型D)C 语言是结构化程序设计语言,结构化程序由顺序结构、选择结构和循环结构三种基本结构组成答案:A以下不能定义为用户标识符的是A) _B)MainC) sizeofD)_int答案:C以下不能作为合法常量的是A) 1.234e04B) 1.234e0.4C)1.234e+4D)1.234e0答案:B若有定义:int k=7, x=12;,则以下表达式值为 3 的是A)(x %= k) - (k %= 5)B)x %= (k %= 5)C)x %= (k - k % 5)D)x %= k - k % 5答案:A以下有关 scanf 函数的叙述中错误的是A)在 scanf 函数的格式字符前既可以加入正整数指定输入数据所占的宽度,也可以对实数指定小数位的宽度B)scanf 函数有返回值,其值就是本次调用 scanf 函数时正确读入的数据项个数C)scanf 函数从输入字符流中按照格式控制指定的格式解析出相应数据,送到指定地址中D)在 scanf 函数中的格式控制字符串不会输出到屏幕上答案:A有以下程序#include <stdio.h>void main(){double x=3.14159;printf("%f\n", (int)(x*1000+0.5)/(double)1000);}程序运行后的输出结果是A) 3.143000B)3.141000C) 3.142000D)3.140000答案:C以下说法正确的是A)C 语言只接受八进制、十进制、十六进制的数B)C 语言只接受二进制、八进制、十六进制的数C)C 语言只接受二进制、十进制、十六进制的数D)C 语言只接受十进制的数答案:A以下说法正确的是A) 由三种基本结构组成的结构化程序只能解决一些数学上有解析解的问题B)由三种基本结构组成的结构化程序只能解决一些简单的问题C)由三种基本结构组成的结构化程序只能解决那些可以结构化的问题D) 由三种基本结构组成的结构化程序可以解决任何复杂的问题答案:D以下说法正确的是A)C 语言标识符中可以出现多个字母、数字和下划线字符B)C 语言标识符中仅出现下划线字符是不允许的C)C 语言标识符中字母、数字和下划线字符必须同时出现D)C 语言标识符中字母、数字和下划线字符不能同时出现答案:A以下说法正确的是A)C 语言中的常量是指在程序运行过程中其值不能被改变的量B)C 语言中的常量是指在程序运行过程中经常被改变值的量C)C 语言中的常量是指在程序运行过程中经常被用到的变量D)C 语言中的常量是指在程序运行过程中经常被改变数据类型的量答案:A若有定义 float a=12.3f; double b=456.78; 若想用 printf函数输出 a 和 b 的值,关于输出格式,以下说法正确的是A) 只能用%lf 输出 a,用%lf 输出 bB)只能用%f 输出 a,用%lf 输出 bC) 既可以用%f 输出 a,也可以用%f 输出 bD)只能用%lf 输出 a,用%f 输出 b答案:C若有定义:double a; char d; float b;若想把 1.2 输入给变量 a,字符’k’输入给变量 d,3.4 输入给变量 b,程序运行时键盘输入:1.2 k 3.4 <回车>则以下正确的读入语句是A)scanf("%lf %c %f", &a, &d, &b);B)scanf("%lf%c%f", &a, &d, &b);C)scanf("%f %c %f", &a, &d, &b);D)scanf("%f%c%f", &a, &d, &b);答案:A下面叙述中正确的是A)用任何计算机高级语言书写的程序都必须转换为计算机指令序列才能执行B)程序是用纯粹的英文所表示的人们头脑中解决问题或进行计算的步骤C)算法仅仅是用计算机高级语言书写的计算机解题的步骤D)用计算机汇编语言书写的程序是计算机可以直接执行的答案:A下面叙述中错误的是A) C 语言程序是由函数组成的B) C 语言的函数可以直接使用,无需事先定义或声明C)C 语言的函数就是一段程序D)C 语言的函数可以单独编译答案:B若有定义:int a=100;则语句printf("%d%d%d\n",sizeof(“a”),sizeof(a),sizeof(3.14));的输出是A) 328B) 248C)238D)421答案:B若有定义:int a=3,b;,则执行语句:b=(a++,a++,a++);后,变量 a 和 b 的值分别是A)6,5B)8,7C)6,3D)5,6答案:A有以下程序段int a=3,b;b=a+3;{int c=2;a*=c+1;}printf("%d\n",a);下面关于此段程序的说法,正确的是A)这段程序的输出是 9B)这段程序中存在有语法错误的语句C)这段程序的输出是 7D)可执行语句 b=a+3;后,不能再定义变量 c答案:A以下叙述中正确的是A)在 C 语言中,常量名也要遵守标识符的命名规则B)对单目运算符来说,运算对象一定在其右侧C)标识符的首字符必须是下划线、字母,其他字符可以是任意的键盘可键入字符D)变量占用内存,常量不占用内存答案:A下面说法正确的是A)结构化程序的基本结构有三种,分别是循环结构、选择结构和顺序结构B)计算机只能执行顺序结构的 C 语言源程序C)循环结构无法使用 N-S 流程图描述D)一般称含有 20 条以内语句的算法为简单算法,超过 20 条则不可能是简单算法答案:A下面说法正确的是A) 任何函数只能有一种基本结构B)MAIN()函数是每一个 C 语言程序必须定义的C) 任何复杂问题都可以只使用三种基本结构来解决D)只要程序使用基本结构编写,运行时就不会出错答案:C以下选项中,合法的 C 语言常量是A) C++’B) 1.0C)"\0.\0D)2B答案:B以下选项中,合法的 C 语言实数是A).9E0B)E22C)0.41ED).8e0.01答案:A设 a,b,c 是整型变量,以下选项中的赋值表达式错误的是A)a = 1 = (b = 1) = 1B)a = (b = 0) * (c + 0)C)a = b = c * 0D)a = 1 % (b = c == 9) + 46答案:A有如下程序#include <stdio.h>main(){char *msg = “Hello”;int x = 012;printf("%s,X=%d.\n", msg, x+1);}程序运行后的输出结果是A) He,X=13.B) Hello,X=11.C)HelX=121.D)Hello,X=013.答案:B以下说法正确的是A)C 语言只接受八进制、十进制、十六进制的数B)C 语言只接受十进制的数C)C 语言接受除二进制之外任何进制的数D)C 语言接受任何进制的数答案:A以下说法错误的是A)由三种基本结构组成的结构化程序不能解决过于复杂的问题B)由三种基本结构组成的结构化程序能解决一些简单的问题C)由三种基本结构组成的结构化程序能解决递归问题D)由三种基本结构组成的结构化程序能解决数学上有解析解的问题答案:A以下说法错误的是A)C 语言标识符必须以字母开头B)C 语言标识符中下划线字符可以出现在任意位置C)C 语言标识符不能全部由数字组成D)C 语言标识符中可以有多个字母、数字和下划线字符答案:A以下说法错误的是A)C 语言中的常量是指在程序运行过程中经常被用到的变量B)C 语言中的常量是指在程序运行过程中其值不能被改变的量C)C 语言中的常量可以用一个符号名来代表D)C 语言中的常量可以用宏来定义答案:A若有定义: int a=1234, b=-5678; 用语句 printf("%±6d%±6d",a,b); 输出,以下正确的输出结果是A) 1234 -5678 (中间有两个空格,最后有一个空格)B) +1234 -5678 (最前面有一个空格,中间有一个空格)C)±1234±5678 (最前面和最后均无空格)D) +1234 -5678 (中三间有一个空格,最后有一个空格)答案:D若有定义:double a; float b; short c;若想把 1.2 输入给变量 a,3.4 输入给变量 b,5678 输入给变量 c,程序运行时键盘输入:1.2 3.4 5678<回车>则以下正确的读入语句是A)scanf("%lf%f%hd", &a, &b, &c);B)scanf("%lf%lf%hd", &a, &b, &c);C)scanf("%lf%lf%d", &a, &b, &c);D)scanf("%f%f%d", &a, &b, &c);答案:A一个算法应当具有五个特性,以下叙述中正确的是A)有穷性、确定性、可行性、有零个或多个输入、有一个或多个输出B)有穷性、确定性、复杂性、有零个或多个输入、有一个或多个输出C)有穷性、确定性、可行性、必须要有一个以上的输入、有一个或多个输出D)有穷性、确定性、复杂性、有零个或多个输入、必须要多个输出答案:A以下不能定义为用户标识符的是A) VoidB)scanfC) intD)3com答案:C以下不能作为合法常量的是A)‘cd’B)1.234e04C)"\a"D)’\011’答案:A若有定义:int a=1, b=2, c=3, d=4, m=2, n=2;,则执行(m=a>b) && (n=c>d)后 n 的值是A)3B)2C)4D)1答案:B有说明语句:int a,b;,如果输入 111222333,使得 a 的值为111,b 的值为 333,则以下正确的语句是A)scanf("%3d%*3c%3d", &a, &b);B)scanf("%*3d%3c%3d", &a, &b);C)scanf("%3d%3d%*3d", &a, &b);D)scanf("%3d%*2d%3d", &a, &b);答案:A有以下程序#include <stdio.h>void main(){double x = 2.0, y;if (x < 0.0) y=0.0;else if (x < 10.0) y = 1.0 / x;else y = 1.0 ;printf("%f\n", y);}程序运行后的输出结果是A) 0.250000B)0.000000C) 0.500000D)1.000000答案:C以下叙述中错误的是A)用 C 语言编写的是机器语言程序B)用高级语言编写的程序称为“源程序”C)由编译器编译生成的二进制代码称为“目标程序”D)由三种基本结构构成的程序是结构化程序答案:A以下合法的用户标识符是A)12315B)2xC)m$D)I-max答案:A以下定义变量 i、j、k 并赋初值的语句,正确的是A)int i=0,j=0,k=0;B)int i=0;j=0;k=0;C)int i=j=k=0;D)int i=0;j=i;k=j;答案:A以下叙述中错误的是A) 无符号整数不可以是负数B)整型变量不能存放实数C) 实型变量可以精确存放整数D)负整数在内存中以“补码”形式存放答案:C若有定义语句:int a=2;,则以下表达式值不等于 3 的是A)a=a++B)a=a+1C)a+=1D)a=++a答案:A设有定义:double x=5.1012;,若要求只输出 x 的整数部分,以下不能实现此要求的语句是A) printf ( " x=%1.0lf\n",x);B)printf ( " x=%2.0f\n",x);C)printf ( " x=%.0f\n",x);D) printf ( " x=%2d\n",x);答案:D有以下程序(字母 A 的 ASCII 代码为 65)#include <stdio.h>main(){char c1 = ‘A’, c2 = ‘Y’;printf("%d, %d\n", c1, c2 );}程序运行后的输出结果是A) A, YB) 65, 89C)65, 90D)输出格式不合法,输出出错信息答案:B若变量已正确定义,则以下 for 循环for ( x=0,y=0; ( y!=123 ) && ( x<4 ); x++ );A)执行 4 次B)执行 3 次C)执行次数不确定D)执行 123 次答案:A。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言基础编程题【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....2.程序源代码: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; /*前两个月加起来赋值给第三个月*/ }}================================= =======【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。

1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

2.程序源代码:#include "math.h"main(){ int m,i,k,h=0,leap=1;printf("\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);} ========================================【程序3】题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。

1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

2.程序源代码:main(){int i,j,k,n;printf("'water flower'number is:");for(n=100;n<1000;n++){i=n/100;/*分解出百位*/j=n/10%10;/*分解出十位*/k=n%10;/*分解出个位*/if(i*100+j*10+k==i*i*i+j*j*j+k*k*k){ printf("%-5d",n);}}printf("\n");}========================================【程序4】题目:将一个正整数分解质因数。

例如:输入90,打印出90=2*3*3*5。

程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。

(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

2.程序源代码:/* zheng int is divided yinshu*/main(){int n,i;printf("\nplease input a number:\n");scanf("%d",&n);printf("%d=",n);for(i=2;i<=n;i++){ while(n!=i){if(n%i==0){ printf("%d*",i);n=n/i;}elsebreak;}}printf("%d",n);}========================================【程序5】题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

1.程序分析:(a>b)?a:b这是条件运算符的基本例子。

2.程序源代码:main(){ int score;char grade;printf("please input a score\n");scanf("%d",&score);grade=score>=90?'A':(score>=60?'B':'C');printf("%d belongs to %c",score,grade);}========================================【程序6】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。

1.程序分析:利用辗除法。

2.程序源代码:第一种做法:#include "stdio.h"void main(){ int m,n,i;printf("请输入两个正整数:");scanf("%d%d",&m,&n);if(m<n)i=m;else i=n;while((m%i!=0)||(n%i!=0))i--;printf("%d和%d的最大公约为:%d\n",m,n,i);}//第二种做法:#include "stdio.h"void main(){ int m,n,r;printf("请输入两个正整数:");scanf("%d%d",&m,&n);if(m<n){ r=m;m=n;n=r;}r=%n;while(r!=0){m=n;n=r;r=m%n; }printf("最大公约数为:%d\n",n);}========================================【程序7】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

1.程序分析:利用while语句,条件为输入的字符不为'\n'.2.程序源代码:#i nclude "stdio.h"main(){char c;int letters=0,space=0,digit=0,others=0;printf("please input some characters\n");while((c=getchar())!='\n'){ if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;编辑版wordelse if(c==' ')space++;else if(c>='0'&&c<='9')digit++;elseothers++;}printf("all in all:char=%d space=%d digit=%dothers=%d\n",letters,space,digit,others);}================================= =======【程序8】题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。

例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

参照P214例21.程序分析:关键是计算出每一项的值。

2.程序源代码:main(){ int a,n,count=1;long int sn=0,tn=0;printf("please input a and n\n");scanf("%d,%d",&a,&n);printf("a=%d,n=%d\n",a,n);while(count<=n){ tn=tn+a;sn=sn+tn;a=a*10;++count;}printf("a+aa+...=%ld\n",sn);}================================= ======= 【程序9】题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?1.程序分析:见下面注释2.程序源代码:main(){float sn=100.0,hn=sn/2; int n;for(n=2;n<=10;n++){sn=sn+2*hn;/*第n次落地时共经过的米数*/hn=hn/2; /*第n次反跳高度*/ }printf("the total of road is %f\n",sn);printf("the tenth is %f meter\n",hn);}#include "stdio.h"main(){float h=100,s=100;int i=1;while(i<=10){h=h/2;printf("第%2d次反弹的高度:%12.9f,第%2d次落地时经过的距离:%12.8f\n",i,h,i,s);s=s+2*h;i++;}}========================================【程序10】题目:有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);}}========================================【程序11】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。

相关文档
最新文档