本文目录一览:
- 1、c语言基础知识必背是什么?
- 2、c语言必背100代码有哪些?
- 3、求解c语言的一些题目 100分 好的话追加
- 4、就是C语言经典c程序100例(1--10)
- 5、c语言经典100题,要过程
- 6、c语言必背代码有哪些?
c语言基础知识必背是什么?
c语言基础知识必背有c语言的命名、变量及赋值、基本数据类型、格式化输出语句、强制类型转换、常量、自动类型转换等。
如C语言程序的结构认识:任何一个c语言程序都必须包括以下格式:main() { }。这是c语言的基本结构,任何一个程序都必须包含这个结构。括号内可以不写任何内容,那么该程序将不执行任何结果。
main()----在c语言中称之为“主函数”,一个c程序有且仅有一个main函数,任何一个c程序总是从main函数开始执行,main函数后面的一对圆括号不能省略。被大括号{ }括起来的内容称为main函数的函数体,这部分内容就是计算机要执行的内容。
在{ }里面每一句话后面都有一个分号(;),在c语言中,我们把以一个分号结尾的一句话叫做一个c语言的语句,分号是语句结束的标志。
printf(“a=%d,b=%d,sum=%d\n”,a,b,sum); ----通过执行这条c语言系统提供给我们直接使用的屏幕输出函数,用户即可看到运行结果,本程序运行后,将在显示器上显示如下结果:a=20,b=15,sum=35。
C程序的生成过程
C程序是先由源文件经编译生成目标文件,然后经过连接生成可执行文件。源程序的扩展名为 .c ,目标程序的扩展名为 .obj , 可执行程序的扩展名为 .exe 。
c语言必背100代码有哪些?
/*输出9*9口诀。共9行9列,i控制行,j控制列。*/
#include "stdio.h"
main()
{int i,j,result;
for (i=1;i10;i++)
{ for(j=1;j10;j++)
{
result=i*j;
printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*/
}
printf("\n");/*每一行后换行*/
}
}
扩展资料:
C语言的字符串其实就是以'\0'字符结尾的char型数组,使用字符型并不需要引用库,但是使用字符串就需要C标准库里面的一些用于对字符串进行操作的函数。它们不同于字符数组。使用这些函数需要引用头文件string.h。
文件输入/输出
在C语言中,输入和输出是经由标准库中的一组函数来实现的。在ANSI C中,这些函数被定义在头文件stdio.h;中。
标准输入/输出
有三个标准输入/输出是标准I/O库预先定义的:
stdin标准输入
stdout标准输出
stderr输入输出错误
参考资料来源:百度百科-c语言
求解c语言的一些题目 100分 好的话追加
序说明]
输入 2 个整数lower 和 upper,输出一张华氏一摄氏温度转换表,华氏温度的取值范
围是[lower,upper], 每次增加 20 F. 计算公式如下, 式中: c 表示摄氏温度,f表示华氏温度。
C= 5x(f一32)/9
运行示例:
Enter lower: 30
Enter upper: 35
fahr celsius
30 -1.1
32 0.0
34 1.1
[程序]
#include stdio.h
main( )
{ int fahr, lower, upper,
double celsius
printf (”Enter lower:”);
scanf ("%d”, lower”);
printf ("Enter upper:”);
scanf (“%d”, upper);
printf(”fahr celsius \n”);
for (fahr=lower;____(1)____;____(2)____){
celsius =____(3)____ ;
printf (“%d ____ (4)_____ \n“, fahr, celsius);
}
}
[供选择的答案]
计算机等级考试试卷(二级C)第1页(共7页)
(l) A、 fahr = upper B、fahr upper
C 、 fahr =uppa r D、 fahr upper
(2) A、 fahr++ B、 fahr =fahr -2
C、 fahr + 2 D、fahr + 2
(3) A、5*(fahr – 32) /9 B、(5.0/9.0)*(fahr – 32)
C、 5/9*(fahr – 32) D、 5 * fahr - 32/9
(4) A、 %6d B、%6.2f C、%6.lf D、%6.0f
试题2 (每小题3分,共12分)
阅读下列程序说明和程序. 在每小题提供的若干可选答案中, 挑选一个正确答案.
[程序说明]
输入 2 个正整数 a 和 n, 求 a+aa+aaa+aa...a(n 个 a)之和.要求定义并调用函数
fn(a,n), 它的功能是返回aa...a(n个a).例如,fn(3,2)的返回值是33.
运行示例,
Enter a: 2
Enter n: 3
sum = 246
[程序]
#includestdio.h
main ( )
{ int i, n;
long a, sn;
long fn(long a, int n);
printf(“Enter a;”);
scanf (“%ld”, a);
printf(“Enter n:”);
scanf(“%d”,n);
_________(5)_______________
for ( i=1;i=n; i++)
_________(6)____________
printf(“sum=%ld\n”,sn);
}
long fn(long a,int n)
{ int i;
long tn=0;
for(i=1;i=n;i++) {
tn=tn+a;
________(7)____________
}
计算机等级考试试卷(二级C)笫 2 页(共 7 页)
(8)
}
[供选择的答案]
(5) A sn=0; B ;
C sn=1; D sn=a;
(6) A sn=sn+fn(a, I ); B sn=sn+fn(a,n);
C sn=sn+fn(I,a); D sn=sn+fn(I,n);
(7) A tn=tn*10; B a=a*10;
C sn=tn*10; D sn=sn+a*10;
(8) A return; B return sn;
C return a; D return tn;
试题3(每小题3分,共12分)
阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
[程序说明]
输入一个以回车结束的字符串(少于80个字符),删除其中除英文字母和数字字符以外的其他字符,再判断新字符串是否对称(不区分大小写字母)。
运行示例1:
Enter a string : Madam I’m Adam
Yes
运行示例2:
Enter a string : elephant
No
#include stdio.h
#include ___(9)___
main()
{ int flag ,i,k,length;
char str[80];
printf(“Enter a string:”);
gets(str);
i=k=0;
while(str[i]!=’\0’){
if(isupper(str[i])) str[i]=tolower(str[i]);
if(isdigit(str[i])//isalpha(str[i])){
(____10____)
k++;
}
i++;
计算机等级考试试卷(二级C)笫 3 页(共 7 页)
}
____(11)______
length=k;
flag=1;
for(k=0;k=length/2;k++)
if(str[k]!=str[length-1-k]){
_____(12)______
break;}
if(flag) printf(“Yes\n”);
else printf(“No\n”);
}
[供选择的答案]
(9) A 、ctype.h B、 string . h
C、 stdilb .h D、 math .h
(10) A、 i++; B、 str[k]=str[i];
C、 str[i]=str[k]; D、;
(11) A 、str[i]=’\0’; B 、str[i-1]=’\0’;
C、 str[k]=’\0’; D、 ;
(12) A、 flag=1; B、 flag=0;
C 、; D 、continue;
试题4 (每小题3分,共12分)
阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案.
[程序]
#I includestdio.h
main()
{ int i,,m;
scanf(“%d”,m);
for(i=2;i=m/2;i++)
if(m%i==0){
printf(“%d#”,i);
break;} /*第8行*
printf(“%d”,i);}
(13)程序运行时,输入5,输出____13_____
A、3 B、3#3
C、3#4 D、3#5
(14)程序运行时,输入9,输出___14______
计算机等级考试试卷(二级C)笫 4页(共 7 页)
A、 3 B、 3#3
C、 3#4 D、 3#5
(15)将第8行改为”continue;”后,程序运行时,输入9,输出——。
A、 3 B、 3#3
C、 3#4 D、3#5
(16)将第8行改为“;“后,程序运行时,输入9,输出——。
A 、3 B、 3#3
C、 3#4 D、 3#5
试题5(每小题3分,共12分)
阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。
[程序]
#includestdio.h
main()
{int i,j,temp;
int a[3][3]={1,2,3,4,5,6,7,8,9};
void f(int *x,int *y);
for(i=0; i3;i++)
for(j=0;j3;j++)
if(ij) f(a[i][j],a[j][i]); /*第8行*/
for(i=0;i3;i++)
for(j=0;j3;j++)
printf(“%2d”, a[i][j]);
}
void f(int *x,int *y)
{ int t;
t=*x; *x=*y; *y=t;
}
(17)程序的输出是—(17)——。
A、3 2 1 6 5 4 9 8 7 B、 7 8 9 4 5 6 1 2 3
C、1 2 3 4 5 6 7 8 9 D、1 4 7 2 5 8 3 6 9
(18)将第8行改为”f(a[I][j],a[j][I]);”后,程序的输出是——(18)——。
A、 3 2 1 6 5 4 9 8 7 B、7 8 9 4 5 6 1 2 3
C、1 2 3 4 5 6 7 8 9 D、1 4 7 2 5 8 3 6 9、
(19)将第8行改为”if(I2) f(a[I][j],a[2-I][j]);”后,程序的输出是——(19)——。
A、3 2 1 6 5 4 9 8 7 B、7 8 9 4 5 6 1 2 3
C、1 2 3 4 5 6 7 8 9 D、1 4 7 2 5 8 3 6 9、
(20)将第8行改为”if(j2) f(a[I][2-j]);”后,程序的输出是——(20)——。
计算机等级考试试卷(二级C)笫 5页(共 7 页)
A、3 2 1 6 5 4 9 8 7 B、7 8 9 4 5 6 1 2 3
C、1 2 3 4 5 6 7 8 9 D、1 4 7 2 5 8 3 6 9
试题6(每小题3分,共12分)
#includestdio.h
main()
{ int i,x1,x2;
int a[5]={1,2,3,4,5};
void f1(int x,int y), f2 (int *x, int *y);
x1=x2=0;
for(i=1;i5; i++){
if (a[i]a[x1])
x2=i;
}
f2(a[x1], a[0]);
for (i=0;i5;i++) printf (“%2d”,a[i]);
printf (“\n”);
f1 (a[x2], a[1]);
for (i=0; i5;i++) printf (“%2d”,a[i]);
printf (“\n”);
f2(a[x2], a[4]);
for (i=0; i5;i++) printf (“%2d”,a[i]);
printf (“\n”);
f1 (a[x1],a[3]);
for (i=0; i5;i++) printf (“%2d”,a[i]);
printf (“\n”);
}
void f1 (int *x, int *y)
{ int t;
t=x; x=y; y=t;
}
void f2(int *x, int *y)
{ int t;
t=*x; *x=*y; *y=t;
}
(21) 程序运行时,第1行输出——(21)——。
A.1 2 3 4 5 B。2 1 3 4 5
计算机等级考试试卷(二级C)笫 6页(共 7 页)
C、1 2 3 5 4 D、5 2 3 4 1
(22) 程序运行时,第2行输出 :_____(22)_____
A、2 1 3 4 5 B、5 2 3 4 1
C、2 5 3 4 1 D、1 2 3 4 5
(23)程序运行时,第3行输出 _______(23)______ .
A、1 2 3 5 4 B、2 5 3 4 1
C、1 2 3 4 5 D、5 2 3 4 1
(24)程序运行时,第4行输出 _______(24)_____ .
A、5 2 3 1 4 B、1 2 3 4 5
C、1 2 3 5 4 D、5 2 3 4 1
试题7 (28 分)
从n个不同的元素中,每次取出 k个不同的元素,丕管其顺序合并成一组,称为组合.
组合种数计箅公式如下..
Cnk=n!/((n-k)!*k!)
1)定义函数fact(n)计算n!,类型double.
2)定义函数cal(k,n),计算组合种数Cnk,类型double.要求调用fact(n)计算n!.
3)定义函数main(),输入正整数n,输出n的所有组合数
Cnk,要求调用函数cal(k,n).
答案:
试题1:1、A 2、D 3、B 4、C
试题2:5、A 6、A 7、A 8、D
试题3:9、A 10、B 11、A 12、B
试题4:13、A 14、B 15、D 16、D
试题5:17、D 18、C 19、B 20、A
试题6:21、D 22、D 23、D 24、B
试题7:
# include “stdio.h”
double fact(int n)
{int k; double result=1;
for(k=1;k=n;k++)
result*=k;
return result;
}
double cal(int k, int n)
{double result;
result=fact(n)/(fact(n-k)*fact(k));
return result;
}
void main( )
{int n,k;
double x;
scanf(“%d”,n);
for(k=1;k=n;k++)
{x=cal(k,n);
printf(“%f\n”,x);
}
}
就是C语言经典c程序100例(1--10)
三层循环三个for语句之间是没有分号的 把第一个和第二个for后面的;去掉
c语言经典100题,要过程
您好,c语言经典100题:
【程序1】
题目:有1,2,3,4个数字,能组成多少个互不相同且无重复数字的三位数
都是多少
1.程序分析:可填在百位,十位,个位的数字都是1,2,3,4.组成所有的排列后再去
掉不满足条件的排列.
2.程序源代码:
main()
{
int
i,j,k;
printf("\n");
for(i1;i5;i++)
/*以下为三重循环*/
for(j1;j5;j++)
for
(k1;k5;k++)
{
if
(i!ki!jj!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);
bonus1100000*0.1;bonus2bonus1+100000*0.75;
bonus4bonus2+200000*0.5;
bonus6bonus4+200000*0.3;
bonus10bonus6+400000*0.15;
if(i100000)
bonusi*0.1;
else
if(i200000)
bonusbonus1+(i-100000)*0.075;
else
if(i400000)
bonusbonus2+(i-200000)*0.05;
else
if(i600000)
bonusbonus4+(i-400000)*0.03;
else
if(i1000000)
bonusbonus6+(i-600000)*0.015;
else
bonusbonus10+(i-1000000)*0.01;
printf("bonus%d",bonus);
}
【程序3】
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少
1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后
的结果满足如下条件,即是结果.请看具体分析:
2.程序源代码:
#include
"math.h"
main()
{
long
int
i,x,y,z;
for
(i1;i2)/*如果是闰年且月份大于2,总天数应该加一天*/
sum++;
printf("it
is
the
%dth
day.",sum);}
【程序4】
题目:输入某年某月某日,判断这一天是这一年的第几天?
1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊
情况,闰年且输入月份大于3时需考虑多加一天。
2.程序源代码:
main()
{
int
day,month,year,sum,leap;
printf("\nplease
input
year,month,day\n");
scanf("%d,%d,%d",year,month,day);
switch(month)/*先计算某月以前月份的总天数*/
{
case
1:sum0;break;
case
2:sum31;break;
case
3:sum59;break;
case
4:sum90;break;
case
5:sum120;break;
case
6:sum151;break;
case
7:sum181;break;
case
8:sum212;break;
case
9:sum243;break;
case
10:sum273;break;
case
11:sum304;break;
case
12:sum334;break;
default:printf("data
error");break;
}
sumsum+day;
/*再加上某天的天数*/
if(year%4000||(year%40year%100!0))/*判断是不是闰年*/
leap1;
else
leap0;
if(leap1month2)/*如果是闰年且月份大于2,总天数应该加一天*/
sum++;
printf("It
is
the
%dth
day.",sum);}
【程序5】
题目:输入三个整数x,y,z,请把这三个数由小到大输出.
1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果xy则将x与y的值进行交换,
然后再用x与z进行比较,如果xz则将x与z的值进行交换,这样能使x最小.
2.程序源代码:
main()
{
int
x,y,z,t;
scanf("%d%d%d",x,y,z);
if
(xy)
{tx;xy;yt;}
/*交换x,y的值*/
if(xz)
{tz;zx;xt;}/*交换x,z的值*/
if(yz)
{ty;yz;zt;}/*交换z,y的值*/
printf("small
to
big:
%d
%d
%d\n",x,y,z);
}
【程序6】
题目:用*号输出字母c的图案.
1.程序分析:可先用'*'号在纸上写出字母c,再分行输出.
2.程序源代码:
#include
"stdio.h"
main()
{
printf("hello
c-world!\n");
printf("
****\n");
printf("
*\n");
printf("
*
\n");
printf("
****\n");
}
【程序7】
题目:输出特殊图案,请在c环境中运行,看一看,very
beautiful!
1.程序分析:字符共有256个.不同字符,图形不一样.
2.程序源代码:
#include
"stdio.h"
main()
{
char
a176,b219;
printf("%c%c%c%c%c\n",b,a,a,a,b);
printf("%c%c%c%c%c\n",a,b,a,b,a);
printf("%c%c%c%c%c\n",a,a,b,a,a);
printf("%c%c%c%c%c\n",a,b,a,b,a);
printf("%c%c%c%c%c\n",b,a,a,a,b);}
【程序8】
题目:输出9*9口诀.
1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列.
2.程序源代码:
#include
"stdio.h"
main()
{
int
i,j,result;
printf("\n");
for
(i1;i10;i++)
{
for(j1;j10;j++)
{
resulti*j;
printf("%d*%d%-3d",i,j,result);/*-3d表示左对齐,占3位*/
}
printf("\n");/*每一行后换行*/
}
}
【程序9】
题目:要求输出国际象棋棋盘.
1.程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格.
2.程序源代码:
#include
"stdio.h"
main()
{
int
i,j;
for(i0;i8;i++)
{
for(j0;j8;j++)
if((i+j)%20)
printf("%c%c",219,219);
else
printf("
");
printf("\n");
}
}
【程序10】
题目:打印楼梯,同时在楼梯上方打印两个笑脸.
1.程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数.
2.程序源代码:
#include
"stdio.h"
main()
{
int
i,j;
printf("\1\1\n");/*输出两个笑脸*/
for(i1;i11;i++)
{
for(j1;ji;j++)
printf("%c%c",219,219);
printf("\n");
}
}
【程序11】
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月
后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少
1.程序分析:
兔子的规律为数列1,1,2,3,5,8,13,21....
2.程序源代码:
main()
{
long
f1,f2;
int
i;
f1f21;
for(i1;i20;i++)
{
printf("%12ld
%12ld",f1,f2);
if(i%20)
printf("\n");/*控制输出,每行四个*/
f1f1+f2;
/*前两个月加起来赋值给第三个月*/
f2f1+f2;
/*前两个月加起来赋值给第三个月*/
}
}
【程序12】
题目:判断101-200之间有多少个素数,并输出所有素数.
1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
则表明此数不是素数,反之是素数.
2.程序源代码:
#include
"math.h"
main()
{
int
m,i,k,h0,leap1;
printf("\n");
for(m101;m200;m++)
{
ksqrt(m+1);
for(i2;ik;i++)
if(m%i0)
{leap0;break;}
if(leap)
{printf("%-4d",m);h++;
if(h%100)
printf("\n");
}
leap1;
}
printf("\nthe
total
is
%d",h);
}
c语言必背代码有哪些?
1、/*输出9*9口诀。共9行9列,i控制行,j控制列。*/
#include "stdio.h"
main()
{int i,j,result;
for (i=1;i10;i++)
{ for(j=1;j10;j++)
{
result=i*j;
printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*/
}
printf("\n");/*每一行后换行*/
}
}
2、/*古典问题:有一对兔子,从出生后第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; /*前两个月加起来赋值给第三个月*/
}
}
3、/*判断101-200之间有多少个素数,并输出所有素数及素数的个数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
则表明此数不是素数,反之是素数。*/
#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) /*内循环结束后,leap依然为1,则m是素数*/
{printf("%-4d",m);h++;
if(h%10==0)
printf("\n");
}
leap=1;
}
printf("\nThe total is %d",h);
}
4、/*一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程
找出1000以内的所有完数。*/
main()
{
static int k[10];
int i,j,n,s;
for(j=2;j1000;j++)
{
n=-1;
s=j;
for(i=1;ij;i++)
{if((j%i)==0)
{ n++;
s=s-i;
k[n]=i;
}
}
if(s==0)
{printf("%d is a wanshu: ",j);
for(i=0;in;i++)
printf("%d,",k[i]);
printf("%d\n",k[n]);
}
}
}
5、/*下面程序的功能是将一个4×4的数组进行逆时针旋转90度后输出,要求原始数组的数据随机输入,新数组以4行4列的方式输出,
请在空白处完善程序。*/
main()
{ int a[4][4],b[4][4],i,j; /*a存放原始数组数据,b存放旋转后数组数据*/
printf("input 16 numbers: ");
/*输入一组数据存放到数组a中,然后旋转存放到b数组中*/
for(i=0;i4;i++)
for(j=0;j4;j++)
{ scanf("%d",a[i][j]);
b[3-j][i]=a[i][j];
}
printf("array b:\n");
for(i=0;i4;i++)
{ for(j=0;j4;j++)
printf("%6d",b[i][j]);
printf("\n");
}
}
6、/*编程打印直角杨辉三角形*/
main()
{int i,j,a[6][6];
for(i=0;i=5;i++)
{a[i][i]=1;a[i][0]=1;}
for(i=2;i=5;i++)
for(j=1;j=i-1;j++)
a[i][j]=a[i-1][j]+a[i-1][j-1];
for(i=0;i=5;i++)
{for(j=0;j=i;j++)
printf("%4d",a[i][j]);
printf("\n");}
}
7、/*通过键盘输入3名学生4门课程的成绩,
分别求每个学生的平均成绩和每门课程的平均成绩。
要求所有成绩均放入一个4行5列的数组中,输入时同一人数据间用空格,不同人用回车
其中最后一列和最后一行分别放每个学生的平均成绩、每门课程的平均成绩及班级总平均分。*/
#include stdio.h
#include stdlib.h
main()
{ float a[4][5],sum1,sum2;
int i,j;
for(i=0;i3;i++)
for(j=0;j4;j++)
scanf("%f",a[i][j]);
for(i=0;i3;i++)
{ sum1=0;
for(j=0;j4;j++)
sum1+=a[i][j];
a[i][4]=sum1/4;
}