C语言
如果可以的话,我希望能有100个C语言例题,这个分栏就叫编程小白100个C语言例题吧
linux2422988311
这个作者很懒,什么都没留下…
展开
-
编程小白C语言题目练习29
题目要求以下程序的输出结果是( )。main( ){ int k=17;printf("%d,%o,%x \n",k,k,k);}思路分析%d是按照十进制整数形式输出,%nd中的n表示有效数字的位数;%c是按照字符型输出;%f是按照浮点数输出;%lf是按照长浮点数输出;%o是按照八进制输出;%x是按照16进制输出;%e是按照科学计数法输出结果。十进制的17对应 八进制为 21,十进制的17对应 十六进制为 11撸写代码#include<st...原创 2020-07-26 21:56:06 · 385 阅读 · 0 评论 -
编程小白C语言题目练习28
题目要求有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号思路分析设最大元素为max,max的行和列为i,j 最开始max为a[0][0],如果a[i][j]大于max,那么最大值就是max=a[i][j]撸写代码#include<stdio.h>int main(){ int i,j,max,row=0,colum=0; int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,..原创 2020-07-22 11:22:42 · 206 阅读 · 0 评论 -
编程小白C语言题目练习27
题目要求编写代码,输入一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。思路分析怎么求万位,千位,十位,个位呢假设输入的数为sum,sum的个十百千万位 分别为abcde万 千 百 十 个 a b c d e a好求 就当输入的数为12321 那么a= 12321 / 10000b 是千位 b = (12321%10000)/1000 b=2,怎么样能让计算机知道...原创 2020-07-21 16:35:01 · 253 阅读 · 0 评论 -
编程小白C语言题目练习26
题目要求已知学生成绩(100分为满分)与等级的对应关系为:成绩(grade) 等级90<=grade<=100 A 80<=grade<90 B 70<=grade<80 C 60<=grade<70 D grade<60 E 请你编写一个程序,要求:输入学生成绩,输出学生成绩对应的等级。(提示:使用switch….case语句)思路分析如果是有if语句,那就超级好代码,但是用switch...case,也不是不行,但是要.原创 2020-07-20 19:29:38 · 2235 阅读 · 1 评论 -
编程小白C语言题目练习25
题目要求有以下程序:#include <stdio.h> void main(){ int i=1,j=1,k=2; if( (j++||k++)&&i++ ) printf(“%d,%d,%d\n”,i,j,k);} 执行后的输出结果是( )思路分析这个题目的考了两个方向,i++,j++,k++,并且在if语句里有 ((a || b ) && c)|| 表示 或 满足其中一个,整个表达式就为真,就满...原创 2020-07-20 18:40:17 · 1593 阅读 · 0 评论 -
编程小白C语言题目练习24
题目要求下面程序的运行结果为 。#include <stdio.h>main(){char ch[7]={"65ab21"}; int i,s =0; for(i=0;ch[i]>=0&&ch[i]<9;i+=2) s=10*s+ch[i]-'0';printf("%d\n",s);}思路分析这个题还是蛮有代表性的,基础不好就难做了,底子好的人一眼就看出来了里面的猫腻,看...原创 2020-07-19 17:25:07 · 2207 阅读 · 1 评论 -
编程小白C语言题目练习22
题目要求设有语句 int a=3;,则执行了语句a+=a-=a*a;后,变量a的值是思路分析在语句a+=a-=a*a中,*的优先级最高即先执行a*a, 在依次执行a-=,a+=a*a=9a-=9,即 a=a-9= -6a+=(-6),即 a=a+ (-6) =(-6 ) + (-6) = (-12)撸写代码#include<stdio.h>int main(){ int a=3; a+=a-=a*a; printf("a=%d\n",...原创 2020-07-17 11:57:00 · 245 阅读 · 0 评论 -
编程小白C语言题目练习23
题目要求设 int b=2;表达式(b>>2)/(b>>1)的值是思路分析这个 ' << ' 的叫左移运算符, 这个' >> '是右移运算符左移运算符将一个数的各二进制位全部左移若干位,移动的位数由右操作数指定,右操作数必须是非负值,其右边空出的位用0填补,高位左移溢出则舍弃该高位。左移一位相当于该数乘以2,左移2位相当于该数乘以2^2=4。右移运算是将一个二进制位的操作数按指定移动的位数向右移动,移出位被丢弃,左边移出的空位或者..原创 2020-07-17 11:29:59 · 949 阅读 · 2 评论 -
编程小白C语言题目练习21
题目要求设m,n,a,b,c,d均为0,执行(m=a==b)||(n=c==d)后,m,n的值是思路分析注意注意注意,虽然题目给了了m==n==a==b==c==d==0,然后就填m=0,n=0,那就完了得看清楚题目,慢慢的分析,揣摩出题人的意思首先(m=a==b)与||与(n=c==d)运算符进行比较,括号优先级最高。同 等优先级遵从从左到右的原则,所以先算(m=a==b)=为赋值运算符,==为关系运算符,关系运算符高于赋值运算符,先执行a==b,a==b为真,返回值为1..原创 2020-07-17 11:00:05 · 243 阅读 · 0 评论 -
编程小白C语言题目练习20
题目要求C语言中整数-8在内存中存储形式是?思路分析简单来说,数据在计算机中是以其补码形式存储和运算的。 -8在内存中的存储形式就是求-8的补码所以 我们得知道源码,补码和反码之间的关系原码:用最高位表示符号位,其余位表示数值位的编码称为原码。其中,正数的符号位为 0,负数的符号位为 1。正数的原码、反码、补码均相同。负数的反码: 把原码符号位保持不变.数值位依次取反负数的补码:在反码的基础上加 1 即得该原码的补码。举例说明+8原码为: 00...原创 2020-07-17 10:37:32 · 860 阅读 · 0 评论 -
编程小白C语言#include「string.h」常用总结
简单介绍C语言里关于字符数组的函数定义的头文件,常用函数有 strlen(求字符串长度),strcmp(比较两个字符串是否一样),strcpy(字符串拷贝操作),strcat(字符串连接操作)等等,更详细的可以到include文件夹里查看该文件strlen(求字符串长度)strlen所作的是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值(长度不包含'\0')。在 .原创 2020-07-12 16:08:49 · 16063 阅读 · 0 评论 -
编程小白C语言题目练习19
题目要求有以下程序main(){ int x[8]={8,7,6,5,0,0},*s; s=x+3;printf("%d\n",s[2]);}执行后输出结果是( )。(A) 随机值 (B) 0 (C) 5 (D) 6思路分析这题蛮有意思的,最后打印出来是 s[2]对应的元素,很容易选错,画个表格容易理解些x 0 1 2 3 4 5 6 8 7 6 5...原创 2020-07-09 20:37:47 · 310 阅读 · 0 评论 -
编程小白C语言题目练习18
题目要求对于基类型相同的两个指针变量之间,不能进行的运算是( )。(A) < (B) = (C) + (D) -思路分析因为两个指针变量之间可以比较大小 也可以赋值相减以后得到的使两指针的位移偏量 ,得到的是两个指针之间的长度撸写代码#include<stdio.h>int main(){ int a[]={1},b[]={2},*p,*q; p=a; q=b; if...原创 2020-07-05 21:43:27 · 291 阅读 · 0 评论 -
编程小白C语言题目练习17
题目要求下列程序执行后的输出结果是(小数点后只写一位) ( )。main() { double d; float f; long l; int i;i=f=l=d=20/3;printf("%d %ld %f %f \n", i,l,f,d);} 思路分析有基础的同学大家应该是知道的 在C语言 比如 3/2 =1 ,10 /3 =3 , 20 /3=6. //对于两个整型数据做除法运算,得到的永远是整数(结果相当于取...原创 2020-07-04 22:08:35 · 1157 阅读 · 0 评论 -
编程小白C语言题目练习16
题目要求下面程序的输出是( )。main(){ char *s="121";int k=0, a=0, b=0;do{k++;if(k%2= =0) {a=a+s[k]-'0';continue;}b=b+s[k]-'0'; a=a+s[k]-'0';}while (s[k+1]);printf("k=%d a=%d b=%d\n",k,a,b);思路分析看到这个题目感觉不大好做,但是不好做不代表不能做,分开都能看懂,整合起来也一样,不要怕...原创 2020-07-03 11:56:51 · 437 阅读 · 0 评论 -
编程小白C语言题目练习15
题目要求有以下程序#include <stdio.h>int a=1;int f(int c){static int a=2;c=c+1;return (a++)+c;}main(){ int i,k=0;for(i=0;i<2;i++){int a=3;k+=f(a);}k+=a;printf(“%d\n”,k);}程序运行结果是( )。思路分析注意全局变量int a=1,和局部静态变量static int a=2,还有就是(a++),...原创 2020-06-30 18:23:35 · 512 阅读 · 0 评论 -
编程小白C语言题目练习14
题目要求有以下程序intfun(intn){if(n==1)return1; else return(n+fun(n-1));}main(){intx;scanf("%d",&x);x=fun(x);printf("%d\n",x);}执行程序时,给变量X输入10,程序的输出结果是( )。思路分析输入x=10,紧接着调用函数int fun(int n)在内存中开了栈 n=10,不满足if(n==1),执行else语句 return ...原创 2020-06-30 15:45:07 · 302 阅读 · 0 评论 -
编程小白C语言题目练习13
题目要求有以下程序intfun1(doublea){returna*=a;}intfun2(doublex,doubley){doublea=0,b=0;a=fun1(x);b=fun1(y);return(int)(a+b);}main(){doublew;w=fun2(1.1,2.0);……}程序执行后变量w中的值。思路分析此题考核的是数值类型的定义与强制转换。本题在进行调用函数 fun2()时,又对函数 fun1()进行了调 用,由于函数 fun1()定...原创 2020-06-29 17:56:41 · 423 阅读 · 0 评论 -
编程小白C语言题目练习12
题目要求有以下程序voidf(inta[],inti,intj){intt;if(i<j){t=a[i];a[i]=a[j];a[j]=t;f(a,i+1,j-1);}}main(){inti,a[5]={1,2,3,4,5};f(a,0,4);for(i=0;i<5;i++)printf(“%d,”,aa[i]);printf(“\n”);}执行后输出结果是( )...原创 2020-06-28 19:36:34 · 343 阅读 · 0 评论 -
编程小白C语言题目练习11
题目要求有以下程序inta=3;main(){ints=0;{inta=5;s+=a++;}s+=a++;printf(“%d\n”,s);}程序运行后的输出结果是?思路分析有两个同名变量a,其中一个在main函数之前,为全局变量另一个在main函数中的复合语句中定义,为局部变量,在局部变量这个a中,s+=a++,即s=s+a++=5执行完局部变量之后,接着是全局变量,a=3,所以s+=a++ ====> s = 5 + 3++ = 8...原创 2020-06-28 17:09:15 · 519 阅读 · 1 评论 -
编程小白C语言题目练习10
题目要求以下程序运行后的输出结果是 。#include <string.h>main(){ char ch[]="abc",x[3][4]; int i;for(i=0;i<3;i++) strcpy(x[i],ch);for(i=0;i<3;i++) printf("%s",&x[i][i]);printf("\n");}思路分析strcpy,即string copy(字符串复制)的缩写。strc...原创 2020-06-26 17:42:55 · 1847 阅读 · 0 评论 -
编程小白C语言题目练习9
题目要求以下程序运行后的输出结果是 。main(){inti,n[]={0,0,0,0,0};for(i=1;i<=4;i++){n[i]=n[i-1]*2+1;printf("%d",n[i]);}}思路分析我第一眼看到这题的时候,我感觉好像要么超级难,要么超级简单,我第一反应是,会不会是0,因为n数组中的元素都是0,看了看 for循环,应该不会是0,因为后面一直+1,然后我就假设性原则,硬算了当i=1时,n[1]=n...原创 2020-06-26 17:16:17 · 721 阅读 · 0 评论 -
编程小白C语言题目练习8
题目要求有以下程序main(){ char a[7]="a0\0a0\0"; int i,j;i=sizeof(a); j=strlen(a);printf("%d %d\n",i,j);}程序运行后的输出结果是?思路分析这个题考的是基础,难度不大,不过比较考验功底strlen所作的是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值(长度不包含'\0')。到.原创 2020-06-26 10:36:14 · 365 阅读 · 0 评论 -
编程小白C语言 结构体数组4
题目要求输入两个学生的学号、姓名和成绩,输出成绩较高学生的学号、姓名和成绩。思路分析这题比较简单,如果不会做,多看几遍分析,自己多敲几遍代码输入两个学生的信息,有学号,姓名,成绩 比较成绩(这里就有3中情况,A的成绩比B好,B的成绩比A好,A的成绩等于B的成绩) 输出成绩比较之后的结果代码演示#include<stdio.h>struct student{ int id; char name[20]; double f;} stu1,stu2..原创 2020-06-17 09:01:38 · 437 阅读 · 0 评论 -
编程小白C语言 结构体数组3
题目要求有3个候选人,10个选民,每个选民只能投票选一人,要求编一个统计选票的程序,先后输入被选人的名字,最后输出各人得票结果。思路分析有一说一,如果题目没有明确给出要求,说要计算弃权的人数,就别把简单的问题复杂化,就别画蛇添足的,算什么弃权的人什么鬼的,平时自己练习的时候,可以这么补充,但是,就题论题,就老老实实做题,把题目作对,代码写好,就已经非常棒了得输入候选人的的名字 统计候选人的票数 输出展示候选人的票数代码演示#include<stdio.h>..原创 2020-06-17 08:52:02 · 399 阅读 · 0 评论 -
编程小白C语言 结构体数组2
题目要求运行下列程序,输出结果是 。struct contry{int num; char name[20];}x[5]={1,"China",2,"USA",3,"France",4,"England",5,"Spanish"};int main(){ int i;for (i=3;i<5;i++) printf("%d%c",x[i].num,x[i].name[0]);}思路分析...原创 2020-06-16 16:25:48 · 1107 阅读 · 0 评论 -
编程小白C语言 结构体数组
题目要求定义以下结构体数组 struct c { int x; int y; }s[2]={1,3,2,7};语句printf("%d",s[0].x*s[1].x)的输出结果为?思路分析s[]是struct c类型的数组,struc c有2个int类型的成员,int x和int y,这个题比较巧妙,s[2]在定义数组的同时进行了初始化,初始化的结果:s[0].x s[0].y s[1].x s[1].y ...原创 2020-06-12 18:14:07 · 3184 阅读 · 0 评论 -
编程小白C语言题目练习7
题目要求执行以下程序段后,m的值为( )。int a[2][3]={ {1,2,3},{4,5,6} };int m,*p;p=&a[0][0];m=(*p)*(*(p+2))*(*(p+4));思路分析原创 2020-06-09 19:10:32 · 526 阅读 · 0 评论 -
编程小白C语言题目练习6
题目要求若有以下的定义:int a[]={1,2,3,4,5,6,7,8,9,10}, *p=a;则值为3的表达式是( )。(A)p+=2, *(p++) (B)p+=2,*++p (C)p+=3, *p++ (D)p+=2,++*p思路分析引出一个数组元素,可以用:下标法:如a[i]形式,a[2]=3指针法:*(a+i)或者*(p+i) *(p++)和*(++p)作用不相同,*(p++)是先取*p的值,然后使...原创 2020-06-08 09:11:54 · 319 阅读 · 0 评论 -
编程小白C语言题目练习5
题目要求若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则不能表示a数组元素的表达式是( )。(A)*p (B)a[10] (C)*a (D)a[p-a]思路分析基础比较好的话,一眼就能看出,B选项不对,因为a数组只要10个元素,最后一个元素对应是a[9]=10,a[10]不属于a,如果是a[10],这里就内存越界,然后看看别的选项,*p就是*a也就是a[0],A,...原创 2020-06-07 18:16:19 · 313 阅读 · 0 评论 -
编程小白C语言题目练习4
题目要求若有以下定义和语句:char *s1="12345",*s2="1234";printf("%d\n",strlen(strcpy(s1,s2)));则输出结果是思路分析strcpy是一种C语言的标准库函数,strcpy把含有'\0'结束符的字符串复制到另一个地址空间,返回值的类型为char*。strlen所作的是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计..原创 2020-06-06 22:20:24 · 870 阅读 · 0 评论 -
编程小白C语言题目练习3
题目要求写一函数,使给定的一个二维数组(3×3)转置,即行列互换。思路分析得知道行类互换,不清楚没关系,自己画个图就明白了,假设a[3][3]={{1,2,3},{4,5,6},{7,8,9}} 0 1 2 0 1 2 3 1 4 5 6 2 7 8 9 a[0][0]=1,a[0][1]=2,a[0][2]=3,a[1][0]=4...进行行列互换之后,a[0][0],a[1][1],a[..原创 2020-06-05 08:12:02 · 274 阅读 · 0 评论 -
编程小白C语言题目练习2
题目要求有以下程序int a=2;int f(int n){ static int a=3;int t=0;if(n%2){ static int a=4; t += a++; }else { static int a=5; t += a++; }return t+a++;}main(){ int s=a, i;for( i=0; i<3; i++) s+=f(i);printf("%d\n", s);}程序运行后的输出结果是( )。思路分析解本...原创 2020-06-01 20:55:24 · 1415 阅读 · 0 评论 -
编程小白C语言题目练习1
题目要求以下程序中函数sort的功能是对a所指数组中的数据进行由大到小的排序int sort(int a[],int n){ int i,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]) {t=a[i];a[i]=a[j];a[j]=t;}}int main(){ int aa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(&aa[3],5);for(i=0..原创 2020-05-28 21:47:00 · 648 阅读 · 0 评论 -
编程小白C语言 欧几里得算法
题目要求编写函数,用辗转相除法,求24和16的最大公约数思路分析说到欧几里得算法,相当陌生,这是什么算法???欧几里德算法是用来求两个正整数最大公约数的算法。古希腊数学家欧几里德在其著作《The Elements》中最早描述了这种算法,所以被命名为欧几里德算法。 //百度百科怎么理解呢,比如 求10和15的最大公约数,在数学的一般是怎么算的15 /10 =1 余 510 / 5 = 2 余 0以除数和余数反复做除法运算,当余数为 0 时,取当前算式除数为最大公约数,..原创 2020-05-25 21:06:36 · 1863 阅读 · 0 评论 -
编程小白C语言 结构体
题目要求小能养了2只猫,一只叫小虎,今年3岁,黄色,一个叫二狗,今年5岁,白色 编写程序,输入小猫名字,就能显示小猫的年龄和颜色,如果小猫的名字错误,就显示小能没有这只小猫思路分析小猫有3个成员变量组成 //名字,年龄,颜色 使用结构体 //C语言结构体(Struct)从本质上讲是一种自定义的数据类型,只不过这种数据类型比较复杂,是由 int、char、float 等基本类型组成的 可以认为结构体是一种聚合类型撸写代码#include<stdio.h&g...原创 2020-05-18 20:44:40 · 378 阅读 · 0 评论 -
编程小白C语言 返回指针函数
题目要求编写一个函数 strlong(),返回2个字符串中较长的一个思路分析涉及到字符串长度的问题,得用到头文件#include<string.h>,输入字符串,用gets比较好(gets从标准输入设备读字符百串函数,其可以无限读取,不会判断上限,以回车结束读取,所以编程时应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。) 这题比较简单,就是统计输入字符穿长度,用函数判断大小,返回值,然后打印结果撸写代码#include<stdio.h&g..原创 2020-05-17 20:28:57 · 279 阅读 · 0 评论 -
编程小白C语言 多重指针
入门介绍一个指向指针的指针变量必须如下声明,即在变量名前放置俩个*号,例如,下面声明了一个指向int 类型的指针: int **p, p的类型是int** 当一个目标值被一个指针间接指向到另一个指针时,访问这个值需要使用2个*号运算符,比如 **p代码演示#include<stdio.h>int main(){ int a; int *p; int **pp1; a=100; p=&a; pp1=&p; printf("a的地址=%p,...原创 2020-05-17 16:25:53 · 542 阅读 · 0 评论 -
编程小白C语言指针数组案例
题目要求定义一个指针数组,来存储字符串列表(四大名著书名),并输出思路分析注意,字符数组应用char 类型,遍历输出打印,这题非常简单撸写代码#include<stdio.h>int main(){ char *books[4]={"三国演义","红楼梦","水浒传","西游记"}; int i; for(i=0;i<4;i++) { printf("books[%d]指向的字符串是%s\n",i,boo...原创 2020-05-17 10:47:18 · 624 阅读 · 0 评论 -
编程小白C语言指针数组
指针数组让数组的元素指向int或者其他数据类型的地址(指针),可以使用指针数组指针数组定义数据类型 *指针数组名[大小]比如: int *p[3]p声明为一个指针数组 有3个整数的指针组成,因此,p中的每个元素,都是指向int值的指针代码演示#include<stdio.h>int main(){ int a[3]={10,20,30}; int i,*p[3]; for(i=0;i<3;i++) //赋值为整数的地址 { p[..原创 2020-05-17 10:32:45 · 213 阅读 · 0 评论