C语言基础编程题
c语言编程题库100题,

c语言编程题库100题,单项选择题1.有char c=’1’,下面说法中正确的是()。
A. 语句putc+2);的输入结果为51B. 语句put“%d”,c+2);的输出结果为3C. 语句put“%c”,c+2);的输入结果为51D. 语句put“%c”,c+2);的输出结果为32.设c1,c2均就是char型变量,则下面不恰当的函数调用为()。
A. scanf(”c1=2=%c”,&c1,&c2);B. get);C. putc2);D. putc1,c2);3.为了表示关系x>=y>=z,下面C语言表达式中正确的是()。
A. (x>=y)&&(y>=z)B. (x>=y)and(y>=z)C. (x>=y>=z)D. (x>=y)&(y>=z)4.设x,y,z,t为int型变量,则继续执行以下语句后,t的值()。
x=y=z=1;t=++x||++y&&++z;A. 不定值B. 2C. 1D. 05.对if语句中表达式的类型,下面正确的说法是()。
A. 必须就是关系表达式B. 必须是关系表达式或逻辑表达式C. 可以就是任一表达式D. 必须是关系表达式或算术表达式6.对for(表达式1;;表达式3)可以认知为()。
A. for(表达式1;0;表达式3)B. for(表达式1;表达式1;表达式3)C. for(表达式1;1;表达式3)D. for(表达式1;表达式3;表达式3)7.执行语句for(i=1;i++<4;);之后,变量i的值为()。
A. 3B. 4C. 5D. 不确定8.若二维数组a存有m列,则在a[i][j]前的元素个数为()。
A. j*m+iB. i*m+jC. i*m+j-iD. i*m+j+19.下面说法中正确的是()。
A. 在C语言中,可以采用动态内存分配技术,定义元素个数气门的数组B. 在C语言中,数组元素的个数可以不确定,允许随即变动C. 在C语言中,数组元素的数据类型可以不一致D. 在C语言中,定义数组后,就确定了它能容纳的相同数据类型元素的个数10.无法把字符串:“good!”参数值数组b的语句就是()。
C语言编程题(带答案)

2、已知a,b,c都是1位整数,求当三位整数abc、cba的和为1333时a、b、c的值。
3、计算并输出200-400之间不能被3整除的整数的和。
4、从键盘输入10个数,统计非负数的个数,并计算非负数的和
5、求100之内自然数中偶数之编写求和的函数。
11、编程判断输入的整数的正负性和奇偶性。如果为正数,输出z;如果为负数,输出f;如果为偶数,输出o;如果为奇数,输出j
12、计算并输出1-200之间不能被5整除的整数的和。
13、从键盘输入n和a的值,计算a+aa+aaa+……+aa……a(n个a)的值。
14、输入5个数,求它们中最大值和平均值并输出。
printf("%d ",b[i]);
printf("\n");
}
10、求3行3列矩阵a[3][3]={1,2,3,4,5,6,7,8,9}非对角线上元素之和。
#include
void main()
{ int i,j,sum=0;
int a[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
if(a*100+b*10+c+c*100+b*10+a==1333)
printf("%d,%d,%d\n",a,b,c);
}
}
}
3、计算并输出200-400之间不能被3整除的整数的和。
#include
void main()
{ int i,sum=0;
for(i=200;i<=400;i++)
《C语言编程基础》试卷

《C语言编程基础》试卷一、填空题:(每空2分,共40分)1、十进制数125用一个字节的二进制表示是。
2、源程序经过编译后产生的结果称为,其扩展名为。
3、一个C语言函数由和两部分组成。
4、设指针变量fp,打开指定名为“abb.txt”的ASCII码文件只是为了写的表达式为。
5、在内存中应该开辟个字节来存放一个字符。
6、字符串”ab\n\\012\\\’”的长度是。
7、以下程序的输出结果是。
#include<stdio.h>main( ){ int i=6,j; j=(++i)+(i++) ;printf(“j=%d\n”,j);}8、有int x,y;执行y=(x=1,++x,x+2)后,赋值表达式的值为。
9、在C语言中,没有专门为存储字符串的变量,但可以用来存储字符串,其定义格式为。
10、设x,y,z均为int型变量,请写出描述x,y和z中有两个为负数的表达式:。
11、下列程序段中循环体的执行次数是。
a=10;b=0;do {b+=2;a-=2+b;}while(a>=0);12、定义:int a[3][4]={{1,2},{0},{4,6,8,10}}; 则初始化后,a[1][2]得到的初值是,a[2][1]得到的初值是。
13、下面程序段的运行结果是。
char x[]=”the teacher”;i=0;while(x[++i]!=’\0’)if(x[i-1]==’t’)printf(“%c”,x[i]);14、程序#include<stdio.h>main(){int j,i=1; j=-i++; printf(“%d,%d\n”,j,i);}运行后输出结果为15、程序#include<stdio.h>main(){int a=177; printf(“a=%o\n”,a);}运行后输出结果为16、若有以下定义:int a[]={1,2,3,4,5,6,7,8,9,10},*p=a;则语句:p+=2,*(p++);执行后的结果(值)是二、选择题:(每题2分,共40分)1、程序: main(){int a=4,b=3,c=1,d=2,e=0;if(a>b) {if(c>d) e=1;}else e=4; printf(“%d\n”,e);} 运行结果为( ).A、0B、4、C、6D、82、下列字符中不属于转义字符的是( )。
《C语言编程基础》习题答案

《C语言编程基础》习题答案C语言编程基础习题答案一、选择题1. 答案:B解析:选项A中的“;”是分号而不是逗号,选项C中漏写了int,选项D中多了一个等号。
2. 答案:C解析:sizeof()函数返回的是指定数据类型的大小,选项A和选项B 中给出的返回值是错误的,选项D中给出的是数组元素的个数。
3. 答案:D解析:在C语言中,0表示假,非0表示真。
4. 答案:A解析:scanf()函数用于从标准输入流中读取数据,并将数据赋值给指定的变量。
5. 答案:B解析:变量名是用来标识内存位置的,它是由字母、数字和下划线组成的,且必须以字母或下划线开头。
二、填空题1. 答案:int解析:函数返回值类型应该与函数定义中的返回值类型一致。
2. 答案:sum+=i;解析:表示将i的值累加到sum中。
3. 答案:float解析:num是一个浮点型变量。
4. 答案:while解析:while循环会循环执行一段代码,直到给定的条件不再满足时退出循环。
5. 答案:true解析:true是C语言中的关键字,表示真。
三、编程题1. 答案:```c#include <stdio.h>int main(){int n, i, sum = 0;printf("请输入一个整数:");scanf("%d", &n);for(i = 1; i <= n; i++){sum += i;}printf("1到%d的和为:%d\n", n, sum);return 0;}```解析:该程序计算了从1到n的整数之和。
2. 答案:```c#include <stdio.h>int main(){int num, i, is_prime = 1;printf("请输入一个整数:");scanf("%d", &num);for(i = 2; i < num; i++){if(num % i == 0){is_prime = 0;break;}}if(is_prime){printf("%d是一个素数\n", num); }else{printf("%d不是一个素数\n", num); }return 0;}```解析:该程序判断一个整数是否为素数。
40个C语言的基础编程题

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】题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
c语言基本编程题

复习题C程序设计编程题1。
输入2个整数,求两数的平方和并输出。
#include <stdio。
h〉void main(){ intt 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。
14void 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值。
#include 〈stdio。
h>void main(){ int x,y;scanf(“%d",&x);if(x<0) y=2*x+1;else if(x〉0) y=2*x—1;else y=0;printf(“%d”,y);}4、编写一个程序,从4个整数中找出最小的数,并显示此数.#include <stdio。
h>void 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语言初学者编程题目

c语言初学者编程题目
C语言是一门广泛应用于计算机科学领域的编程语言,它的语法简单
易懂,适合初学者学习。
在学习C语言的过程中,编程练习是非常重
要的一部分。
以下是几个适合初学者的C语言编程题目。
1. 计算两个数的和
编写一个程序,要求用户输入两个数,然后计算它们的和并输出结果。
2. 判断一个数是奇数还是偶数
编写一个程序,要求用户输入一个整数,然后判断它是奇数还是偶数,并输出结果。
3. 计算一个数的阶乘
编写一个程序,要求用户输入一个正整数,然后计算它的阶乘并输出
结果。
例如,输入5,输出120。
4. 判断一个数是否为质数
编写一个程序,要求用户输入一个正整数,然后判断它是否为质数,并输出结果。
质数是指只能被1和它本身整除的数,例如2、3、5、7等。
5. 猜数字游戏
编写一个程序,随机生成一个1到100之间的整数,然后要求用户猜这个数是多少。
如果用户猜的数比随机数大,程序会提示用户猜的数太大;如果用户猜的数比随机数小,程序会提示用户猜的数太小。
直到用户猜中这个数为止,程序才会结束。
以上是几个适合初学者的C语言编程题目。
通过编写这些程序,可以帮助初学者熟悉C语言的语法和基本操作,提高编程能力。
同时,这些题目也可以帮助初学者培养逻辑思维和解决问题的能力。
C语言编程实例100题

C语言程序实例100个(一)【程序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万元的部分,可可提成%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。
注意定义时需把奖金定义成长整型。
2.程序源代码:main(){long?int?i;int?bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*;bonus2=bonus1+100000*;bonus4=bonus2+200000*;bonus6=bonus4+200000*;bonus10=bonus6+400000*;if(i<=100000)bonus=i*;else?if(i<=200000)bonus=bonus1+(i-100000)*;else?if(i<=400000)bonus=bonus2+(i-200000)*;else?if(i<=600000)bonus=bonus4+(i-400000)*;else?if(i<=1000000)bonus=bonus6+(i-600000)*;elsebonus=bonus10+(i-1000000)*;printf("bonus=%d",bonus);}?==============================================================【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言基础编程题This model paper was revised by the Standardization Office on December 10, 20205-1求幂之和(15分)本题要求编写程序,计算sum=2^1 + 2^2 + 2^3 + \cdots + 2^n sum=21+22+23++2n。
可以调用pow函数求幂。
输入格式:输入在一行中给出正整数n n(\le≤10)。
输出格式:按照格式“result = 计算结果”输出。
输入样例:输出样例:#include<>#include<>int main(){int i,n,sum=0;scanf("%d",&n);for(i=1;i<=n;i++){sum=sum+pow(2,i);}printf("result = %d\n",sum);return 0;}5-2近似求PI(15分)本题要求编写程序,根据下式求\piπ的近似值,直到最后一项小于给定精度eps。
\frac{\pi}{2}=1+\frac{1!}{3}+\frac{2!}{3\times 5} + \frac{3!}{3\times 5\times 7}+ \cdots +\frac{i!}{3\times 5\times \cdots \times (2\times i+1)}+\cdots2π=1+31!+3×52!+3×5×73!++3×5××(2×i+1)i!+输入格式:输入在一行中给出精度eps,可以使用以下语句来读输入:输出格式:在一行内,按照以下格式输出\piπ的近似值(保留小数点后5位):输入样例:输出样例:#include<>#include<>int main(){double a=1,b=3,i=1,j=3;double eps,m=1,sum=0;scanf("%le", &eps);while(m>eps){m=a/b;sum=sum+m;i=i+1;j=j+2;a=a*i;b=b*j;}printf("PI = %.5lf\n",2+2*sum);return 0;}5-3判断素数(15分)输入一个正整数m,如果它是素数,输出"YES",否则,输出"NO"(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。
输入格式:在一行中输入一个正整数m。
输出格式:对每一组输入,在一行中输出结果并换行。
输入样例:输出样例:#include<>#include<>int main(){int i,j,n;scanf("%d",&n); j=sqrt(n);for(i=2;i<=j;i++) if(n%i==0) break; if(i>=j && n!=1) printf("YES\n"); elseprintf("NO\n");return 0;}5-4出生年(15分)以上是新浪微博中一奇葩贴:“我出生于1988年,直到25岁才遇到4个数字都不相同的年份。
”也就是说,直到2013年才达到“4个数字都不相同”的要求。
本题请你根据要输出样例1:输入样例2:输出样例2:#include<>#include<>int main(){int y,n,a,b,c,d,f[10],l=0; scanf("%d %d",&y,&n);for(int i=y;i<10000;i++) {a=i/1000;b=i/100%10;c=i%100/10;d=i%10;memset(f,0,sizeof(f)); f[a]=1;if(f[b]!=1)f[b]=1;if(f[c]!=1)f[c]=1;if(f[d]!=1)f[d]=1;int sum=0;for(int j=0;j<10;j++) {sum=sum+f[j];}if(sum==n&&l==0){printf("%d %04d\n",i-y,i);l++;}}return 0;}5-5计算函数P(n,x)(10分)输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入一个整数n (n>=0)和一个双精度浮点数x,输出函数p(n,x)的值(保留2位小数)。
1 (n=0)x (n=1)((2n-1)p(n-1,x)-(n-1)*p(n-2,x))/n (n>1)例:括号内是说明输入样例:1 (n=1,x= 10 (n=10,x=输出样例:p(0,=p(1,=p(10,=时间限制:400ms内存限制:64MB代码长度限制:16kB判题程序:系统默认作者:王秀单位:福州大学题目判定解题程序#include<>int main(){double p(int n,double x);int repeat,ri,n;double x,result;scanf("%d",&repeat);for(ri=1;ri<=repeat;ri++){scanf("%d %lf",&n,&x);result=p(n,x);printf("p(%d,%.2lf)=%.2lf\n",n,x,result); }return 0;}double p(int n,double x){double t;if(n==0)t=1;else if(n==1)t=x;elset=((2*n-1)*p(n-1,x)-(n-1)*p(n-2,x))/n;return t;}5-6在数组中查找指定元素(10分)输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入一个正整数 n (1<n<=10),然后输入n个整数存入数组a中,再输入一个整数x,在数组a中查找x,如果找到则输出相应元素的最小下标,否则输出"Not found"。
要求定义并调用函数search(list, n, x),它的功能是在数组list中查找元素x,若找到则返回相应元素的最小下标,否则返回-1,函数形参 list 的类型是整型指针,形参n 和x的类型是int,函数的类型是int。
输出格式语句:printf("index = %d\n", );输入输出示例:括号内为说明,无需输入输出输入样例:2 (repeat=2)3 (n=3)1 2 -62 (x=2)5 (n=5)1 2 2 5 40 (x=0)输出样例:index = 1Not found时间限制:400ms内存限制:64MB代码长度限制:16kB判题程序:系统默认作者:王秀单位:福州大学#include<>int main(){int search(int list[], int n, int x);int n,i,a[10],res,x,repeat,index,ri;scanf("%d",&repeat);for(ri=1;ri<=repeat;ri++){scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);scanf("%d",&x);res=search(a,n,x);if(res!=-1)printf("index = %d\n",res);elseprintf("Not found\n");}return 0;}int search(int list[], int n, int x){int i,q=-1;for(i=0;i<n;i++){if(list[i]==x){return i;}}return q;}5-7使用函数的选择法排序(10分)输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算:输入一个正整数 n (1<n<=10),再输入 n 个整数存入数组 a 中,用选择法将数组 a 中的元素按升序排列,最后输出排序后的数组元素。
要求定义并调用函数 sort(a,n),它的功能是采用选择排序算法,将数组 a 的前 n 个元素按从小到大的顺序排序,函数形参 a 的类型是整型指针,形参n的类型是int,函数的类型是void。
输出格式:数据直接以空格分隔,最后的一个数据后面没有空格。
输入输出示例:括号内为说明,无需输入输出输入样例:输出样例:After sorted: 1 5 6 7After sorted: 1 2 3After sorted: 1 2 3 4 5时间限制:400ms内存限制:64MB代码长度限制:16kB判题程序:系统默认作者:王秀单位:福州大学题目判定解题程序#include <>#define MAXN 10void sort( int a[], int n ); int main(){int i,n,x,j;int a[MAXN];scanf("%d",&x);for(j=0;j<x;j++){scanf("%d", &n);for( i=0; i<n; i++ ) scanf("%d", &a[i]);sort(a, n);printf("After sorted: "); for(i=0;i<n-1;i++)printf("%d ", a[i]); printf("%d",a[i]);printf("\n");}return 0;}void sort(int a[],int n) {int i,x,j,temp;for(i=0;i<n-1;i++){x=i;for(j=i+1;j<n;j++)if(a[j]<a[x])x=j;if(x!=i){temp=a[x];a[x]=a[i];a[i]=temp;}}}5-8求组合数(15分)本题要求编写程序,根据公式C^{m}_{n} = \frac{n!}{m!(n-m)!}Cnm=m!(nm)!n!算出从n n个不同元素中取出m m个元素(m\le n m≤n)的组合数。