初学编程C语言100个代码大全_第1页
初学编程C语言100个代码大全_第2页
初学编程C语言100个代码大全_第3页
初学编程C语言100个代码大全_第4页
初学编程C语言100个代码大全_第5页
已阅读5页,还剩24页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

初学编程C语言100个代码大全一、基础语法入门(1-20个)本部分代码聚焦C语言基础语法,包括HelloWorld、变量定义、数据类型、输入输出等,帮助新手快速上手C语言基本写法。1.HelloWorld(最基础入门代码)c

#include<stdio.h>

intmain(){

//输出HelloWorld,C语言入门第一个代码

printf("HelloWorld!\n");

return0;

}2.定义并输出整数变量c

#include<stdio.h>

intmain(){

//定义整数变量a,赋值为10

inta=10;

//输出变量a的值

printf("整数a的值是:%d\n",a);

return0;

}3.定义并输出浮点数变量c

#include<stdio.h>

intmain(){

//定义单精度浮点数b,赋值为3.14

floatb=3.14;

//定义双精度浮点数c,赋值为12.345

doublec=12.345;

//输出浮点数,保留2位小数

printf("浮点数b:%.2f,浮点数c:%.3f\n",b,c);

return0;

}4.定义并输出字符变量c

#include<stdio.h>

intmain(){

//定义字符变量ch,赋值为'A'

charch='A';

//输出字符及其ASCII值

printf("字符:%c,对应的ASCII值:%d\n",ch,ch);

return0;

}5.从键盘输入一个整数并输出c

#include<stdio.h>

intmain(){

intnum;

//提示用户输入

printf("请输入一个整数:");

//从键盘读取输入的值,存入num

scanf("%d",&num);

//输出输入的整数

printf("你输入的整数是:%d\n",num);

return0;

}6.从键盘输入两个整数,计算并输出和c

#include<stdio.h>

intmain(){

inta,b,sum;

printf("请输入两个整数(用空格分隔):");

scanf("%d%d",&a,&b);

sum=a+b;//计算两数之和

printf("%d+%d=%d\n",a,b,sum);

return0;

}7.从键盘输入两个整数,计算并输出差c

#include<stdio.h>

intmain(){

inta,b,diff;

printf("请输入两个整数(用空格分隔):");

scanf("%d%d",&a,&b);

diff=a-b;//计算两数之差

printf("%d-%d=%d\n",a,b,diff);

return0;

}8.从键盘输入两个整数,计算并输出积c

#include<stdio.h>

intmain(){

inta,b,product;

printf("请输入两个整数(用空格分隔):");

scanf("%d%d",&a,&b);

product=a*b;//计算两数之积

printf("%d*%d=%d\n",a,b,product);

return0;

}9.从键盘输入两个整数,计算并输出商和余数c

#include<stdio.h>

intmain(){

inta,b,quotient,remainder;

printf("请输入两个整数(被除数除数):");

scanf("%d%d",&a,&b);

//注意:除数b不能为0,此处暂不处理异常

quotient=a/b;//商

remainder=a%b;//余数

printf("%d÷%d=%d,余数:%d\n",a,b,quotient,remainder);

return0;

}10.输出布尔值(使用stdbool.h)c

#include<stdio.h>

#include<stdbool.h>//引入布尔类型头文件

intmain(){

boolflag1=true;//真

boolflag2=false;//假

//布尔值输出,true对应1,false对应0

printf("true=%d,false=%d\n",flag1,flag2);

return0;

}11.变量自增、自减操作c

#include<stdio.h>

intmain(){

inta=5;

printf("初始a:%d\n",a);

a++;//自增1,等价于a=a+1

printf("a++后:%d\n",a);

a--;//自减1,等价于a=a-1

printf("a--后:%d\n",a);

return0;

}12.赋值运算符的使用(+=、-=、*=、/=)c

#include<stdio.h>

intmain(){

inta=10;

a+=5;//等价于a=a+5

printf("a+=5后:%d\n",a);

a-=3;//等价于a=a-3

printf("a-=3后:%d\n",a);

a*=2;//等价于a=a*2

printf("a*=2后:%d\n",a);

a/=4;//等价于a=a/4

printf("a/=4后:%d\n",a);

return0;

}13.关系运算符的使用(>、<、==、!=、>=、<=)c

#include<stdio.h>

intmain(){

inta=8,b=5;

//关系运算结果为布尔值(1为真,0为假)

printf("a>b:%d\n",a>b);

printf("a<b:%d\n",a<b);

printf("a==b:%d\n",a==b);

printf("a!=b:%d\n",a!=b);

printf("a>=b:%d\n",a>=b);

printf("a<=b:%d\n",a<=b);

return0;

}14.逻辑运算符的使用(&&、||、!)c

#include<stdio.h>

intmain(){

inta=10,b=5,c=3;

//&&:逻辑与,都为真才为真;||:逻辑或,有一个为真就为真;!:逻辑非,取反

printf("(a>b)&&(b>c):%d\n",(a>b)&&(b>c));

printf("(a<b)||(b>c):%d\n",(a<b)||(b>c));

printf("!(a>b):%d\n",!(a>b));

return0;

}15.三目运算符(条件运算符)的使用c

#include<stdio.h>

intmain(){

inta=8,b=5;

//语法:条件?表达式1:表达式2;条件为真,取表达式1,否则取表达式2

intmax=(a>b)?a:b;//求a和b的最大值

printf("a和b的最大值是:%d\n",max);

return0;

}16.输出转义字符(换行、制表符等)c

#include<stdio.h>

intmain(){

//\n:换行;\t:制表符(相当于按Tab键);\\:输出反斜杠;\":输出双引号

printf("第一行\n第二行\t制表符分隔\n输出反斜杠:\\\n输出双引号:\"Hello\"\n");

return0;

}17.定义常量(#define宏定义)c

#include<stdio.h>

#definePI3.14159//宏定义常量PI,不可修改

#defineMAX100//宏定义常量MAX

intmain(){

printf("圆周率PI:%.5f\n",PI);

printf("最大值MAX:%d\n",MAX);

//PI=3.14;//错误:常量不可修改

return0;

}18.定义常量(const关键字)c

#include<stdio.h>

intmain(){

constintMIN=0;//const定义常量MIN,不可修改

constfloatG=9.8;//重力加速度常量

printf("最小值MIN:%d\n",MIN);

printf("重力加速度G:%.1f\n",G);

//MIN=1;//错误:const常量不可修改

return0;

}19.强制类型转换c

#include<stdio.h>

intmain(){

inta=5,b=2;

floatresult1=a/b;//整数除法,结果为2.000000

floatresult2=(float)a/b;//强制将a转为浮点数,结果为2.500000

printf("a/b(无强制转换):%.2f\n",result1);

printf("(float)a/b(强制转换):%.2f\n",result2);

return0;

}20.简单的注释演示(单行+多行)c

#include<stdio.h>

/*

*这是多行注释

*用于注释多行内容

*本代码演示单行注释和多行注释的使用

*/

intmain(){

//这是单行注释,用于注释单行内容

intnum=100;//单行注释:定义整数变量num,赋值为100

printf("num的值:%d\n",num);

return0;

}二、分支结构(21-40个)本部分代码聚焦if语句、if-else语句、if-elseif-else语句、switch语句,掌握C语言的分支判断逻辑,解决简单的条件判断问题。21.单if语句(判断一个数是否为正数)c

#include<stdio.h>

intmain(){

intnum;

printf("请输入一个整数:");

scanf("%d",&num);

//单if:条件成立则执行括号内代码,否则不执行

if(num>0){

printf("%d是正数\n",num);

}

return0;

}22.if-else语句(判断一个数是正数还是负数)c

#include<stdio.h>

intmain(){

intnum;

printf("请输入一个整数:");

scanf("%d",&num);

//if-else:条件成立执行if内代码,否则执行else内代码

if(num>0){

printf("%d是正数\n",num);

}else{

printf("%d是负数或0\n",num);

}

return0;

}23.if-else语句(判断一个数是奇数还是偶数)c

#include<stdio.h>

intmain(){

intnum;

printf("请输入一个整数:");

scanf("%d",&num);

//奇数:能被2整除余1;偶数:能被2整除余0

if(num%2==0){

printf("%d是偶数\n",num);

}else{

printf("%d是奇数\n",num);

}

return0;

}24.if-else语句(判断一个数是否能被3整除)c

#include<stdio.h>

intmain(){

intnum;

printf("请输入一个整数:");

scanf("%d",&num);

if(num%3==0){

printf("%d能被3整除\n",num);

}else{

printf("%d不能被3整除\n",num);

}

return0;

}25.if-elseif-else语句(判断成绩等级)c

#include<stdio.h>

intmain(){

intscore;

printf("请输入你的成绩(0-100):");

scanf("%d",&score);

//多条件判断,依次执行,满足一个则跳出

if(score>=90&&score<=100){

printf("优秀\n");

}elseif(score>=80&&score<90){

printf("良好\n");

}elseif(score>=60&&score<80){

printf("及格\n");

}elseif(score>=0&&score<60){

printf("不及格\n");

}else{

printf("成绩输入错误!\n");

}

return0;

}26.if-elseif-else语句(判断三个数的最大值)c

#include<stdio.h>

intmain(){

inta,b,c,max;

printf("请输入三个整数(用空格分隔):");

scanf("%d%d%d",&a,&b,&c);

if(a>b&&a>c){

max=a;

}elseif(b>a&&b>c){

max=b;

}else{

max=c;

}

printf("三个数的最大值是:%d\n",max);

return0;

}27.if-elseif-else语句(判断月份对应的季节)c

#include<stdio.h>

intmain(){

intmonth;

printf("请输入月份(1-12):");

scanf("%d",&month);

if(month==3||month==4||month==5){

printf("春季\n");

}elseif(month==6||month==7||month==8){

printf("夏季\n");

}elseif(month==9||month==10||month==11){

printf("秋季\n");

}elseif(month==1||month==2||month==12){

printf("冬季\n");

}else{

printf("月份输入错误!\n");

}

return0;

}28.嵌套if语句(判断一个数是否为两位数)c

#include<stdio.h>

intmain(){

intnum;

printf("请输入一个整数:");

scanf("%d",&num);

if(num>=0){

//嵌套if:if内部再写if-else

if(num>=10&&num<=99){

printf("%d是两位数(正数)\n",num);

}else{

printf("%d不是两位数(正数)\n",num);

}

}else{

if(num>=-99&&num<=-10){

printf("%d是两位数(负数)\n",num);

}else{

printf("%d不是两位数(负数)\n",num);

}

}

return0;

}29.嵌套if语句(判断一个数是否为闰年)c

#include<stdio.h>

intmain(){

intyear;

printf("请输入年份:");

scanf("%d",&year);

//闰年判断规则:能被4整除且不能被100整除,或能被400整除

if(year%4==0){

if(year%100==0){

if(year%400==0){

printf("%d是闰年\n",year);

}else{

printf("%d不是闰年\n",year);

}

}else{

printf("%d是闰年\n",year);

}

}else{

printf("%d不是闰年\n",year);

}

return0;

}30.嵌套if-else语句(比较两个数的大小)c

#include<stdio.h>

intmain(){

inta,b;

printf("请输入两个整数(用空格分隔):");

scanf("%d%d",&a,&b);

if(a!=b){

if(a>b){

printf("%d>%d\n",a,b);

}else{

printf("%d<%d\n",a,b);

}

}else{

printf("%d==%d\n",a,b);

}

return0;

}31.switch语句(根据数字输出对应星期)c

#include<stdio.h>

intmain(){

intday;

printf("请输入星期(1-7):");

scanf("%d",&day);

//switch:根据表达式的值,匹配case,执行对应代码,break跳出

switch(day){

case1:

printf("星期一\n");

break;//必须加break,否则会继续执行下一个case

case2:

printf("星期二\n");

break;

case3:

printf("星期三\n");

break;

case4:

printf("星期四\n");

break;

case5:

printf("星期五\n");

break;

case6:

printf("星期六\n");

break;

case7:

printf("星期日\n");

break;

default://所有case都不匹配时执行

printf("输入错误!\n");

break;

}

return0;

}32.switch语句(根据成绩等级输出评价)c

#include<stdio.h>

intmain(){

chargrade;

printf("请输入成绩等级(A/B/C/D/E):");

scanf("%c",&grade);//注意%c前加空格,避免读取换行符

switch(grade){

case'A':

printf("优秀,继续保持!\n");

break;

case'B':

printf("良好,再接再厉!\n");

break;

case'C':

printf("及格,仍需努力!\n");

break;

case'D':

case'E'://多个case共用一段代码

printf("不及格,请认真复习!\n");

break;

default:

printf("等级输入错误!\n");

break;

}

return0;

}33.switch语句(根据月份输出天数,简化版)c

#include<stdio.h>

intmain(){

intmonth;

printf("请输入月份(1-12):");

scanf("%d",&month);

switch(month){

case1:

case3:

case5:

case7:

case8:

case10:

case12:

printf("%d月有31天\n",month);

break;

case4:

case6:

case9:

case11:

printf("%d月有30天\n",month);

break;

case2:

printf("2月有28或29天(闰年29天)\n");

break;

default:

printf("月份输入错误!\n");

break;

}

return0;

}34.switch语句(简单计算器:加减乘除)c

#include<stdio.h>

intmain(){

inta,b;

charop;

printf("请输入表达式(格式:aopb,如3+5):");

scanf("%d%c%d",&a,&b,&op);

switch(op){

case'+':

printf("%d+%d=%d\n",a,b,a+b);

break;

case'-':

printf("%d-%d=%d\n",a,b,a-b);

break;

case'*':

printf("%d*%d=%d\n",a,b,a*b);

break;

case'/':

if(b==0){//处理除数为0的异常

printf("错误:除数不能为0!\n");

}else{

printf("%d/%d=%d\n",a,b,a/b);

}

break;

default:

printf("错误:运算符不正确(仅支持+、-、*、/)\n");

break;

}

return0;

}35.switch与if结合(判断一个数的正负和奇偶)c

#include<stdio.h>

intmain(){

intnum;

printf("请输入一个整数:");

scanf("%d",&num);

//先判断正负,再判断奇偶

if(num>0){

switch(num%2){

case0:

printf("%d是正偶数\n",num);

break;

case1:

printf("%d是正奇数\n",num);

break;

}

}elseif(num<0){

switch(num%2){

case0:

printf("%d是负偶数\n",num);

break;

case-1://负数取余可能为负,如-3%2=-1

printf("%d是负奇数\n",num);

break;

}

}else{

printf("0既不是正数也不是负数,是偶数\n");

}

return0;

}36.多重if嵌套(判断一个数是否为质数,简单版:判断能否被2到sqrt(num)整除)c

#include<stdio.h>

#include<math.h>//用于sqrt()函数

intmain(){

intnum,i,flag=1;//flag=1表示是质数,0表示不是

printf("请输入一个大于1的整数:");

scanf("%d",&num);

if(num<=1){

printf("%d不是质数\n",num);

}else{

//循环判断能否被2到sqrt(num)整除

for(i=2;i<=sqrt(num);i++){

if(num%i==0){

flag=0;//能被整除,不是质数

break;

}

}

if(flag==1){

printf("%d是质数\n",num);

}else{

printf("%d不是质数\n",num);

}

}

return0;

}37.if-else语句(判断输入的字符是大写字母、小写字母还是数字)c

#include<stdio.h>

intmain(){

charch;

printf("请输入一个字符:");

scanf("%c",&ch);

if(ch>='A'&&ch<='Z'){

printf("%c是大写字母\n",ch);

}elseif(ch>='a'&&ch<='z'){

printf("%c是小写字母\n",ch);

}elseif(ch>='0'&&ch<='9'){

printf("%c是数字\n",ch);

}else{

printf("%c是其他字符\n",ch);

}

return0;

}38.if-else语句(判断两个数的大小,输出较大值)c

#include<stdio.h>

intmain(){

inta,b;

printf("请输入两个整数:");

scanf("%d%d",&a,&b);

if(a>b){

printf("较大值是:%d\n",a);

}else{

printf("较大值是:%d\n",b);

}

return0;

}39.switch语句(根据输入的数字输出对应颜色)c

#include<stdio.h>

intmain(){

intcolor;

printf("请输入数字(1-4):");

scanf("%d",&color);

switch(color){

case1:

printf("红色\n");

break;

case2:

printf("蓝色\n");

break;

case3:

printf("绿色\n");

break;

case4:

printf("黄色\n");

break;

default:

printf("无对应颜色\n");

break;

}

return0;

}40.嵌套if语句(判断一个三位数是否为水仙花数,简单版:三位数,各位立方和等于自身)c

#include<stdio.h>

intmain(){

intnum,a,b,c;//a:百位,b:十位,c:个位

printf("请输入一个三位数:");

scanf("%d",&num);

if(num>=100&&num<=999){

a=num/100;//取百位

b=(num/10)%10;//取十位

c=num%10;//取个位

if(a*a*a+b*b*b+c*c*c==num){

printf("%d是水仙花数\n",num);

}else{

printf("%d不是水仙花数\n",num);

}

}else{

printf("输入的不是三位数!\n");

}

return0;

}三、循环结构(41-60个)本部分代码聚焦for循环、while循环、do-while循环,掌握循环逻辑,解决重复执行的问题,如遍历、累加、累乘等。41.for循环(输出1到10的整数)c

#include<stdio.h>

intmain(){

inti;

//for循环语法:for(初始化;条件;更新){循环体}

for(i=1;i<=10;i++){

printf("%d",i);

}

printf("\n");

return0;

}42.for循环(输出10到1的整数,倒序)c

#include<stdio.h>

intmain(){

inti;

//倒序循环:初始化i=10,条件i>=1,每次i减1

for(i=10;i>=1;i--){

printf("%d",i);

}

printf("\n");

return0;

}43.for循环(计算1到10的和)c

#include<stdio.h>

intmain(){

inti,sum=0;//sum初始化为0,用于存储累加结果

for(i=1;i<=10;i++){

sum+=i;//等价于sum=sum+i

}

printf("1到10的和是:%d\n",sum);

return0;

}44.for循环(计算1到10的积)c

#include<stdio.h>

intmain(){

inti,product=1;//product初始化为1,用于存储累乘结果

for(i=1;i<=10;i++){

product*=i;//等价于product=product*i

}

printf("1到10的积是:%d\n",product);

return0;

}45.for循环(计算1到100的偶数和)c

#include<stdio.h>

intmain(){

inti,sum=0;

//方法1:遍历所有数,判断是否为偶数

for(i=1;i<=100;i++){

if(i%2==0){

sum+=i;

}

}

printf("1到100的偶数和是:%d\n",sum);

return0;

}46.for循环(计算1到100的奇数和)c

#include<stdio.h>

intmain(){

inti,sum=0;

//方法2:直接遍历奇数(i从1开始,每次加2)

for(i=1;i<=100;i+=2){

sum+=i;

}

printf("1到100的奇数和是:%d\n",sum);

return0;

}47.for循环(输出1到100中能被5整除的数)c

#include<stdio.h>

intmain(){

inti;

printf("1到100中能被5整除的数:\n");

for(i=1;i<=100;i++){

if(i%5==0){

printf("%d",i);

}

}

printf("\n");

return0;

}48.for循环(输出1到100中能被3和5同时整除的数)c

#include<stdio.h>

intmain(){

inti;

printf("1到100中能被3和5同时整除的数:\n");

for(i=1;i<=100;i++){

if(i%3==0&&i%5==0){

printf("%d",i);

}

}

printf("\n");

return0;

}49.for循环(打印5行星号,每行5个)c

#include<stdio.h>

intmain(){

inti,j;

//外层循环控制行数,内层循环控制每行的星号数

for(i=1;i<=5;i++){

for(j=1;j<=5;j++){

printf("*");

}

printf("\n");//每行结束换行

}

return0;

}50.for循环(打印直角三角形星号,右对齐)c

#include<stdio.h>

intmain(){

inti,j;

//外层循环控制行数(5行)

for(i=1;i<=5;i++){

//内层循环1:打印空格,行数越多,空格越少

for(j=1;j<=5-i;j++){

printf("");

}

//内层循环2:打印星号,行数越多,星号越多

for(j=1;j<=i;j++){

printf("*");

}

printf("\n");

}

return0;

}51.for循环(打印直角三角形星号,左对齐)c

#include<stdio.h>

intmain(){

inti,j;

for(i=1;i<=5;i++){

//每行星号数等于行数

for(j=1;j<=i;j++){

printf("*");

}

printf("\n");

}

return0;

}52.for循环(计算n的阶乘,n由用户输入)c

#include<stdio.h>

intmain(){

intn,i,factorial=1;

printf("请输入一个正整数n:");

scanf("%d",&n);

if(n<0){

printf("错误:负数没有阶乘!\n");

}else{

for(i=1;i<=n;i++){

factorial*=i;

}

printf("%d的阶乘是:%d\n",n,factorial);

}

return0;

}53.for循环(求1到n的平均数,n由用户输入)c

#include<stdio.h>

intmain(){

intn,i,sum=0;

floatavg;

printf("请输入一个正整数n:");

scanf("%d",&n);

for(i=1;i<=n;i++){

sum+=i;

}

avg=(float)sum/n;//强制转换为浮点数,避免整数除法

printf("1到%d的平均数是:%.2f\n",n,avg);

return0;

}54.while循环(输出1到10的整数)c

#include<stdio.h>

intmain(){

inti=1;//初始化循环变量

//while循环语法:while(条件){循环体;更新循环变量}

while(i<=10){

printf("%d",i);

i++;//更新循环变量,避免死循环

}

printf("\n");

return0;

}55.while循环(计算1到100的和)c

#include<stdio.h>

intmain(){

inti=1,sum=0;

while(i<=100){

sum+=i;

i++;

}

printf("1到100的和是:%d\n",sum);

return0;

}56.while循环(从键盘输入数字,直到输入0为止,计算所有输入数字的和)c

#include<stdio.h>

intmain(){

intnum,sum=0;

printf("请输入数字(输入0结束):");

scanf("%d",&num);

//循环条件:num!=0,输入0则退出循环

while(num!=0){

sum+=num;

printf("请输入数字(输入0结束):");

scanf("%d",&num);

}

printf("所有输入数字的和是:%d\n",sum);

return0;

}57.while循环(判断一个数的位数)c

#include<stdio.h>

intmain(){

intnum,count=0;

printf("请输入一个整数:");

scanf("%d",&num);

if(num==0){

count=1;//0的位数是1

}else{

//循环:每次除以10,直到num变为0,计数加1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论