C语言程序设计试题含答案3篇
C语言程序设计试题含答案1 1.用C语言编写的代码程序(B) A)可立即执行B)是一个源程序C)经过编译即可执行D)经过编译解释才能执行 2.C语言中用于结构化程序设计的三种基本结构是(A)下面是小编为大家整理的C语言程序设计试题含答案3篇,供大家参考。
C语言程序设计试题含答案1
1. 用C语言编写的代码程序( B )
A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行
2. C语言中用于结构化程序设计的三种基本结构是( A )
A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue
3. 以下定义语句中正确的是( C )
A)char a="A"b="B"; B float a=b=10.0;C)int a=10,*b=&a; D)float *a,b=&a;
4.下列选项中,不能用作标识符的是( D )
A)_1234_ B)_1_2 C) int_2_ D)2_int_
5.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则 ( B )
A)称为函数的直接递归调用 B)称为函数的间接递归调用
C)称为函数的循环调用 D)C语言中不允许这样的递归调用
6.以下叙述中正确的是 ( A )
A)局部变量说明为static存储类,其生存期将得到延长
B)全局变量说明为static存储类,其作用域将被扩大
C)任何存储类的变量在未赋初值时,其值都是不确定的
D)形参可以使用的存储类说明符与局部变量完全相同
7.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是( B)
A)for(i=1,p=1;i<=5;i++) p*=i;B)for(i=1;i<=5;i++){ p=1; p*=i;}
C)i=1;p=1;while(i<=5){p*=i; i++;}D)i=1;p=1;do{p*=i; i++; }while(i<=5);
8.有以下程序(a)
main()
{ char a="a",b;
printf("%c,",++a);
printf("%c\n",b=a++);}
程序运行后的输出结果是a)b,b B)b,c C)a,b D)a,c
9.有以下函数定义:(c)
void fun(int n, double x) { …… }
若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是
A) fun(int y,double m); B)k=fun(10,12.5) C)fun(x,n); D)void fun(n,x)
10.已定义c为字符型变量,则下列语句中正确的是(c)
A)c="97"; B)c="97"; C)c=97; D)c="a";
11.以下能正确定义一维数组的选项是(a)
A)int num[]; B) #define N 100
C)int num[0..100]; D) int N=100;
int num[N]; int num[N];
12.以下能正确定义数组并正确赋初值的语句是(d)
A)int N=5,b[N][N]; B)int a[1][2]={{1},{3}};C)int c[2][]= {{1,2},{3,4}}; D)int d[3][2]={{1,2},{34}};
13.有以下程序(a)
main()
{ int i;
for (i=0; i<3; i++)
switch (i)
{ case 1: printf("%d ", i);
case 2: printf("%d ", i);
default : printf("%d ", i); }
}
执行后输出结果是
A)011122 B)012 C)012020 D)120
14.有以下程序(d)
main()
{ int p[7]={11,13,14,15,16,17,18}, i=0,k=0;
while(i<7 && p[i]%2) { k =k+ p[i]; i++; }
printf("%d\n", k);
}
执行后输出结果是
A)58 B)56 C)45 D)24
15.以下叙述中正确的是(c)
A)C语言比其他语言高级 B)C语言可以不用编译就能被计算机识别执行
C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式
D)C语言出现的最晚,具有其他语言的一切优点
16.下列叙述中正确的是(d)
A)C语言中既有逻辑类型也有集合类型B)C语言中没有逻辑类型但有集合类型
C)C语言中有逻辑类型但没有集合类型D)C语言中既没有逻辑类型也没有集合类型
17.以下叙述中正确的是(a)
A)C程序中注释部分可以出现在程序中任意合适的地方B)花括号"{"和"}"只能作为函数体的定界符
C)构成C程序的基本单位是函数,所有函数名都可以由用户命名D)分号是C语句之间的分隔符,不是语句的一部分
C语言程序设计试题含答案3篇扩展阅读
C语言程序设计试题含答案3篇(扩展1)
——C语言程序设计期末试题附答案3篇
C语言程序设计期末试题附答案1
1若a、b均为int型变量,且a=100,则以下的for循环是死循环.
for (b=100;a!=b;++a,b++) printf("----\n");
执行语句:for(i=1;i++<4;++i);后;变量i的值是5。
2以下程序的运行结果是【 】
main()
{int x,y,z;
x=1;y=2;z=3;
x=y--<=x||x+y!=z;
printf("%d,%d",x,y);
}
3以下程序的运行结果是【 】
main()
{int x,y,z;
x=1;y=1;z=0;
x=x||y&&z;
printf("%d,%d",x,x&&!y||z);
}
4以下程序的运行结果是【 】
main()
{int a,b,c;
int s,w=0,t;
a=-1;b=3;c=3;
if(c>0)s=a+b;
if(a<=0)
{if(b>0)
if(c<=0)w=a-b;
}
else if(c>0)w=a-b;
else t=c;
printf("%d,%d,%d\n",s,w,t);
}
5阅读下面程序:
main()
{ int s, t, a, b;
scanf("%d%d",&a, &b);
s=1;
t=1;
if(a>0) s=s+1;
if(a>b) t=s+t;
else if (a==b) t=5;
else t=2*s;
printf("s=%d, t=%d", s, t);
}
6为了使输出结果t=4, 输入量a和b应满足的条件是【 】
7下面程序的功能是在输入的一批整数中求出最大者,输入0结束循环。
#include
{ int a,max=0;
scanf("%d",&a)
while(【 】){ if (max scanf("%d",&a); } printf("%d",max); } 8执行下面的程序段后,k值是【 】。 k=1; n=263; do { k*=n%10; n/=10; } while(n); 9等差数列的第一项a=2,公差d=3,下面程序的功能是在前n项和中,输出能被4整除的所有的和。请填空。 #include main() { int a,d,sum; a=2;d=3;sum=0; do { sum+=a; a+=d; if (【 】) printf("%d\n",sum); } while(sum<200); } 10鸡兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,请填空。 for(x=1;x<=29;x++) { y=30-x; if (【 】) printf("%d,%d\n",x,y); } 11写出下面程序的运算结果【 】。 # include main ( ) { int a=14, b=63; while (a!=b) {while (a>b) a-=b; while (a } printf ("%d\n",a); } 12下列程序的输出为【 】。 #include main() { int i,j,x=0; for(i=0;i<3;i++) { if(i%3==2) break; x++; for(j=0;j<4;j++) { if(j%2) break; x++; } x++; } printf("x=%d\n",x); } ——C语言程序设计试题及答案3篇 1[单选题] 若有语句:int a[3][4],(。P)[4];P=a;,则以下选项中叙述错误的是()。 A.系统将开辟一个名为P的二维数组,“o][o]中的值即为a[o][o]中的值 B.P+1代表a[1][0]的地址 C.P中将存放a数组的首地址 D.P+2代表a数组最后一行的首地址 参考答案:A 参考解析:(+P)[4]定义了一个数组指针。P可以指向类似于arry[][4]的数组,题设中,P不是一个二维数组,只是可以指向这类二维数组,因此选项A错误。P+1代表了第一行第一个元素的地址,P=a指向数组a的首地址,则B、C选项正确,同理可知选项D也正确。故答案为A选项。 2[单选题] 以下叙述中正确的是() A.在算法设计时,可以把复杂任务分解成一些简单的子任务 B.在C语言程序设计中,所有函数必须保存在一个源文件中 C.只要包含了三种基本结构的算法就是结构化程序 D.结构化程序必须包含所有的三种基本结构.缺一不可 参考答案:A 参考解析:C语言的程序中,函数不一定都放在同一个源文件中,可以分别放在不同源文件中,通过#inClude命令来引用,所以B错误。结构化程序可以包含三种基本结构中的一种或几种,所以C,D错误。 3[单选题] 有三个关系R、S和T如下: 则由关系R和S得到关系T的操作是( )。 A.自然连接 B.交 C.除 D.并 参考答案:C 参考解析:如果S=T/R,则s称为T除以R的商。在除运算中s的域由T中那些不出现在R中的域所组成,对于s中的任一有序组,由它与关系R中每个有序组所构成的有序组均出现在关系T中。所以本题选择C2017年计算机二级C语言练习题及答案2017年计算机二级C语言练习题及答案。 4[单选题] 以下叙述错误的是( )。 A.一个算法所包含的操作步骤应该是有限的 B.任何能通过编译和运行的算法都一定能得到所期望的结果 C.算法中每一条指令必须有确切的含义 D.算法可以用各种描述方法来进行描述 参考答案:B 参考解析:算法的特点:零个或多个输入,至少一个输出,可行性(能编程实现),有穷性(有限步出结果),确定性(描述不能有歧义)。可知选项A,c,D正确。c语言中。通过编译,可以运行的程序,不一定符合题目的本意,因此即使可以运行得到结果,也不一定和预期的结果一样,否则就不需要调试和修改程序了,故B选项错误。答案为B选项。 5[单选题] 设有定义: int a=1,b=2,C=3; 以下语句中执行效果与其他三个不同的是( )。 A.if(a>B.C=a,a=b,b=C; B.if(a>B.{C=a,a=b,b=C;} C.if(a>B.C=a;a=b;b=c; D.if(a>B.{C=a;a=b;b=c;} 参考答案:C 参考解析:由于a小于b,所以所有选项中的条件都为假,c选项中实际执行了a=b;b=c;两个操作。而A、B、D选项由于条件不成立,所以什么也没有做,所以选择c选项。 6[单选题] 以下叙述中正确的是 A.两个字符串可以用关系运算符进行大小比较 B.函数调用strlen(s);会返回字符串S实际占用内存的大小(以字节为单位) C.C语言本身没有提供对字符串进行整体操作的运算符 D.当拼接两个字符串时,结果字符串占用的内存空间是两个原串占用空间的和 参考答案:C 参考解析:本题考查字符串处理函数strien、strcat、strcmp。B选项中strlen返回的是字符串s实际占用内存大小加上结尾符,A选项中不能用关系运算符进行大小比较,可以使用strcmp。D选项当使用连接函数strcat时,内存空间会减少一个字符位置。 7[单选题] 一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是( )。 A.一对一 B.一对多 C.多对多 D.多对一 参考答案:C 参考解析:因为一个人可以操作多个计算机,而一台计算机又可以被多个人使用,所以两个实体之间是多对多的关系。 8[单选题] 对于while(!E)s;,若要执行循环体s,则E的取值应为: A.E等于1 B.E不等于0 C.E不等于1 D.E等于0 参考答案:D 参考解析:while语句的一般形式为:while(表达式)语句;其中表达式是循环条件,语句为循环体。while语句的语义是:计算表达式的值,当值为真(非0)时,执行循环体语句。该题中如要执行语句s,则!E应为真,因此E应等于0,D选项正确。 9[单选题] 在软件设计中不使用的工具是( )。 A.系统结构图 B.PAD图 C.数据流图(DFD图) D.程序流程图 参考答案:C 参考解析:系统结构图是对软件系统结构的总体设计的图形显示2017年计算机二级C语言练习题及答案计算机等级。在需求分析阶段,已经从系统开发的角度出发,把系统按功能逐次分割成层次结构,是在概要设计阶段用到的 PAD图是在详细设计阶段用到的。程序流程图是对程序流程的图形表示,在详细设计过程中用到。数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型,是在可行性研究阶段用到的而非软件设计时用到,所以选择C。 10[单选题] 若有定义语句:char a="\82";则变量a() A.说明不合法 B.包含1个字符 C.包含2个字符 D.包含3个字符 参考答案:B 参考解析:char a="\82",定义字符量a,char型变量值为1个字节长度,并从右侧开始运算,所以a的值应为"2"。因此B选项正确。 ——C语言程序设计试题附答案3篇 1. 用C语言编写的代码程序( B ) A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行 2. C语言中用于结构化程序设计的三种基本结构是( A ) A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue 3. 以下定义语句中正确的是( C ) A)char a="A"b="B"; B float a=b=10.0;C)int a=10,*b=&a; D)float *a,b=&a; 4.下列选项中,不能用作标识符的是( D ) A)_1234_ B)_1_2 C) int_2_ D)2_int_ 5.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则 ( B ) A)称为函数的直接递归调用 B)称为函数的间接递归调用 C)称为函数的循环调用 D)C语言中不允许这样的递归调用 6.以下叙述中正确的是 ( A ) A)局部变量说明为static存储类,其生存期将得到延长 B)全局变量说明为static存储类,其作用域将被扩大 C)任何存储类的变量在未赋初值时,其值都是不确定的 D)形参可以使用的存储类说明符与局部变量完全相同 7.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是( B) A)for(i=1,p=1;i<=5;i++) p*=i;B)for(i=1;i<=5;i++){ p=1; p*=i;} C)i=1;p=1;while(i<=5){p*=i; i++;}D)i=1;p=1;do{p*=i; i++; }while(i<=5); 8.有以下程序(a) main() { char a="a",b; printf("%c,",++a); printf("%c\n",b=a++);} 程序运行后的输出结果是a)b,b B)b,c C)a,b D)a,c 9.有以下函数定义:(c) void fun(int n, double x) { …… } 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是 A) fun(int y,double m); B)k=fun(10,12.5) C)fun(x,n); D)void fun(n,x) 10.已定义c为字符型变量,则下列语句中正确的是(c) A)c="97"; B)c="97"; C)c=97; D)c="a"; 11.以下能正确定义一维数组的选项是(a) A)int num[]; B) #define N 100 C)int num[0..100]; D) int N=100; int num[N]; int num[N]; 12.以下能正确定义数组并正确赋初值的语句是(d) A)int N=5,b[N][N]; B)int a[1][2]={{1},{3}};C)int c[2][]= {{1,2},{3,4}}; D)int d[3][2]={{1,2},{34}}; 13.有以下程序(a) main() { int i; for (i=0; i<3; i++) switch (i) { case 1: printf("%d ", i); case 2: printf("%d ", i); default : printf("%d ", i); } } 执行后输出结果是 A)011122 B)012 C)012020 D)120 14.有以下程序(d) main() { int p[7]={11,13,14,15,16,17,18}, i=0,k=0; while(i<7 && p[i]%2) { k =k+ p[i]; i++; } printf("%d\n", k); } 执行后输出结果是 A)58 B)56 C)45 D)24 15.以下叙述中正确的是(c) A)C语言比其他语言高级 B)C语言可以不用编译就能被计算机识别执行 C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D)C语言出现的最晚,具有其他语言的一切优点 16.下列叙述中正确的是(d) A)C语言中既有逻辑类型也有集合类型B)C语言中没有逻辑类型但有集合类型 C)C语言中有逻辑类型但没有集合类型D)C语言中既没有逻辑类型也没有集合类型 17.以下叙述中正确的是(a) A)C程序中注释部分可以出现在程序中任意合适的地方B)花括号"{"和"}"只能作为函数体的定界符 C)构成C程序的基本单位是函数,所有函数名都可以由用户命名D)分号是C语句之间的分隔符,不是语句的一部分 二、填空题 1.以下程序输入3个整数值给a,b,c,变量b中的值给a,变量c中的.值给b,变量a中的值给c,交换后输出a,b,c的值。 #include main() { int a,b,c,__①_d___; printf("enter a,b,c");scanf("%d%d%d",&a,&b,&c); ___d=a_②____;__a=b_③_____;____b=c④_____;_c=d__⑤_____; printf("%d,%d,%d",a,b,c); } 2.求出200以内的整数中,最大的可以被17整除的数是哪个数。 #include ___①main()____ {int i; for(_i=200___②____;___③i>=0_______;i--) {if(____i%17==0____④________) break;} printf("%d\n",__⑤_i____); } 3.以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。 main() { int i,a[20],sum,count; sum=count=0; for(i=0;i<20;i++) scanf("%d", __①_a[i]__ ); for(i=0;__ ②_i<20_;i++) ? { if(a[i]>0) ?? { count++; ?? sum+= _a[i]__③___ ; ?? } ? } printf("sum=%d,count=%d\n",__sum④___,__⑤__count___); } 4.以下程序的功能是调用函数fun计算:m=1+2+3+4+…+9+10,并输出结果。请填空。 int fun( int n) { int m=0,i; for(i=__1_①___; i<=n; _i++_②____) { m=_m+i__③____; } return _④__m__; } main() { printf("m=%d\n", __⑤__ fun(10)_); } 5.以下程序将数组中的数据按逆序存放。 #include #define SIZE 12 main() {int a[SIZE],i,j,t; for(i=0;i i=0;j=_SIZE_②____; while(i {t=a[i];__a[i]=a[j]____ ③______;__a[j]=t___④________;i++;j_--__⑤_____} for(i=0;i printf("\n"); ——c语言程序设计心得5篇 在这为期半个月的时间内,通过我们小组各成员之间的相互讨论和合作,我们完成了学生信息管理系统的程序设计,更值得高兴的是我们的程序得到了大家的喜爱,在每次的简报中都得到了较好的成绩。 虽然在上个学期中,我们已经学习了《C语言程序设计》这门课,但是我所学的知识最多也就是在做作业的时候才会用到,*时没有什么练习的机会,这次的课程设计是我第一次通过自己构思,和同学讨论并且不断查阅资料来设计一项程序。这次设计,不仅巩固了我以前所学的知识,还让我对c语言有了更深一步的了解,掌握了更多的技巧和技能。 C语言是计算机程序设计的重要理论基础,在我们以后的学习和工作中都有着十分重要的地位。要学好这种语言,仅仅学习课本上的知识是不够的,还要经常自己动手,有较强的实践能力。只有多动手,经常编写程序,才能发现我们学习上的漏洞和自己的不足,并在实践中解决这些问题,不断提高自己转化知识的能力。 在我们小组有解决不了的问题时,我们会主动查阅相关的资料,或向其他同学询问,这不仅丰富了我们的知识,还增进了我们同学之间的友谊。为了增大信息的安全性,需要用文件来存储信息,由于我们在上课时不注重对文件的运用,所以在这方面有较大的困难。我先将书本认认真真地看了一遍,又做了一下课后习题来验证和增进自己的理解,终于,经过我们的不懈努力,我们小组的程序有了突破,成功地实现了用文件来保存并查看学生的信息。 这次设计中,我的收获还有就是学会了用流程图来表达自己的想法,并根据流程图来逐步实现程序的功能。开始的时候,我画流程图很是困难,需要一个多小时才能清楚的根据自己的想法画出图来,后来画多了,就更加了解它的功能,十分得心应手,能够比较快而准确的画出来。 在这次课程设计中,我们首先对系统的整体功能进行了构思,然后用结构化分析方法进行分析,将整个系统清楚的划分为几个模块,再根据每个模块的功能编写代码。而且尽可能的将模块细分,最后在进行函数的调用。我们在函数的编写过程中,我们不仅用到了for循环、while循环和switch语句,还用到了函数之间的调用(包括递归调用)。由于我们是分工编写代码,最后需要将每个人的代码放到一起进行调试。因为我们每个人写的函数的思想不都一样,所以在调试的过程中也遇到了困难,但经过我们耐心的修改,终于功夫不负有心人,我们成功了! 在参考书上,我们不仅参考了曾经学过的高敬阳主编的《c语言程序设计》,还找到了由谭浩强主编的第三版《c语言》进行参考。 当然,我们的程序还有一些不完善的地方,比如说,当输入的数据不符合我们定义的数据的格式的时候,程序会出现一些错误,有时会出现主菜单的死循环;在一次程序运行中,只能行使一种权限,要想再行使另一种权限,就只能退出程序,然后再运行程序。 三周的小学期即将结束,时间虽短,但是我收获了很多。最后,谢谢老师和同学们的指导,更要感谢我们小组成员之间的合作与交流。 通过此次C语言程序设计实践,本人实在是获益不浅!C语言是上个学期开的课程,所以这个学期并没怎么看过,当要开始设计的时候,还真不知从哪下手!结果,第一次的上机,我傻坐着不知道该做什么,后来就写了几个预处理命令。回去以后,我想,这样不行,这样下去还得了!我就重新复习了一遍我们上个学期学习的内容,发觉自已有许多都遗忘了!特别是有文件的操作,几乎是一遍空白!温习过后,开始做题! 一开始做题,也是有点模糊,在指导老师的指导下,我们慢慢的进入状态,我们做的是一个通讯录,内容包括很多。运用的函数也是非常的复杂,我们一组有七个人,我分工合作,首先我一起完成了结构题,然后我们一人各负责一个函数程序的设计,经过几星期的努力,我们完成了大半个程序,但是总是有很多错误出现,有好多是些小问题,这都是我们粗心大意造成的,所以设计程序一定要仔细,不容一点的马虎。当然也有大问题,关于文件的.操作,是我们最大的问题,不过,我们做好后,经过老师的讲解和改错,我们也懂得设计和运用了。同时,也让我知道了,合作的力量,如果是孤军奋战的话,我也不能在规定时间内完成,当然,也多亏老师的指导。 这次设计,让我重新掌握了C语言,而且还得到了用C语言解决实际问题的宝贵经验! 三周的课程设计已经结束了。 回想学习C语言的过程中,既有快乐又有烦恼。 从领到书的那一刻,我就很郁闷,《C语言程序设计》到底事学什么的,有什么用。刚开始上课时,还在迷茫这门课程是用来做什么的。不过,这些感受都是在对这门课程不了解的情况下产生的。后来慢慢的接触多了,听老师讲的多了,了解多了,渐渐的产生了兴趣。尤其是学到语句和函数时,上机操作程序,经过编译,调试和运行后,出现界面,当时觉得很好奇,想真正的学好这门课程。通过半个学期的学习,我掌握了基本知识。 下学期开始时,被通知要进行三周的课程设计。当时有点懵,感觉学的东西很少,很零散,不知该怎么练到一起,就要课程设计,是不是太难为我们了。 第一天基本上都是在看书,把基本知识再熟悉一边。到了下午的时候,老师发过来三道练习题,从这几道练习题上我得到了不少启发,然后我们组把整个程序的思路理清了,开始着手写程序。 第一周结束的时候,我感觉自己收获挺大的,从一开始的迷茫,不知道从何下手到把程序中的几个模块编写出来,心里挺开心的。但是,到了第二周,我们由不得不再次陷入困境。在整个程序的编写过程中。最难的就是修改和删除这两个模块,这也是我们第二周要解决的重点问题。 开始编写修改和删除时,很头疼,去向其他人寻求帮助,在别人的帮助和提示下,我编完了修改程序,但编译时老出错,修改后的内容将文本内的信息全部覆盖了。困难之时,我们组的其他人,帮助了我,完成了修改和删除。这样的话,整个程序基本上全部完成了,就剩下完善工作了。我们组写了两个程序,最后,两个程序相互组合,互补,大功告成 虽然设计时完成了,但是我觉得其中还是由一些不足之处: 1.警告句。程序中缺少一些警告句,例如:“是否真的删除(y/n)?”。 2.重名的情况。由于考虑的不周全,没有设计遇到重名的情况该怎么处理。 3.选择单一。我们设计的程序中,只设计了按名字选择,进行操作,忽略了重名的情况。 整个程序完成了,还有很多不完善的地方,希望自己以后办事的时候要认真,仔细,考虑周全。 短短的三周课程设计结束了,但是这段时间里,我又学到了更多C知识,如:对象数组,string类,文件流等,同时我也被提醒以后办事的时候要认真,仔细,考虑周全。,也看到了团队精神和互帮互助的重要性。这一点会让我终生受益。通过三周的课程设计,我觉得自己肚子里的墨水多了,收获也挺大的,这三周过的挺充实! 首先我要告诉大家的是:第一,学习无捷径!对于学习编程而言,你现在的付出将来都是有回报的。但是,学习C语言也需要方法。 我遇到过很多学习C语言的人,包括我以前的同学,很多人都是学到一半就放弃了。那么为什么那么多人学习C语言都半途而废呢?原因就是他们找不到正确的学习方法!在学习的过程中四处碰壁,兴趣和自信心逐渐被消耗殆尽。对他们来说学习C语言是一件很痛苦的事! 事实上学习编程是一件很好玩、很有趣、很有意思也很有前途的事情!那么学习C语言有什么好的方法呢?根据我自己多年的总结,以及很多编程前辈的经验,主要有以下几个方面: 1)分清主次 学习C语言最忌讳的就是不分主次,这是绝大多数学习C语言的同学都会犯的错误!我们刚开始学习的时候只需要将那些最重要的、最核心的学会就已经很好了!先将最精髓的东西提炼出来,再将整个C语言学一遍,从全局上把握C语言。对于那些次要的,有需要再学,没有需要也可以不学。 2)一定要多上机,多“敲”代码 编程是一门实践性的学科,绝对不是理论。如果不动手“敲”代码的话,永远都学不会编程。很多问题只有在“敲代码”的时候才能发现,才会有更加深刻的体会、领悟和理解。而不是靠死记硬背书中的注意点,那样真的很痛苦。我在学习编程的时候从来都不会刻意记忆什么注意点,这些知识点都是在不停“敲代码”的过程中,自然而然地融入我的身体中的。 你们一定要记住一句话:“程序是写出来的,不是看书看出来的!” 3)要“敲代码”,必学盲打 盲打是学习编程最基本的技能。就算你C语言学得很好,达到了“思想在键盘上飞舞”的境界,但是如果你不会盲打,那你想“飞”也“飞”不起来!所以,不会盲打会非常影响你的学习效率。 4)要学会记笔记 编程需要不断地积累。我们一定要学会模仿别人优秀的代码、优秀的算法,然后将它记下来。一定要站在巨人的肩膀上学习。但是我们的记忆能力是有限的,时间长了难免会遗忘,所以一定要学会记笔记。一有心得、体会、感悟就写下来,这些都是很珍贵的。 我们在记笔记的时候,如果眼前没有计算机则可以先写在纸上,但事后一定要将它整理成电子版。整理成电子版看起来会很方便、舒适,还可以随意地增添和删改,保存时间也长。 在朗沃学习已经差不多一个月了,今天是学C语言的最后一天。在学习C语言的过程中感觉比较轻松,可能是因为以前接触过C语言,再加上只学了C语言的基础吧,也有了一些学习C语言的心得。 学习C语言的起步就是学习它的方法规则,如果把它学习得好在学习后面的时候就比较容易理。比如变量,首先要了解变量的定义方式(格式),其意义是什么(定义变量有什么用);其次就是要我要怎么去运用它(我要用什么型式去应用它)。在C语言的命令行中所有的语句都是有它自己的一定格式和形式出现在我们面前,所以在学习某种语句或命令时你首先要了解的就是它的规则是什么、有什么用、怎么实现等。这些都是语法基础,如果把它们都了解很好了,那么编起程序来就很得心应手。比如说if语句和switch语句,这两种条件语句都是用来执行判断功能的,那什么时侯用if什么时侯用switch,如果很好地了解它们的结构和作用的话那么就能灵活运用:若它的条件分支是多个而且条件的值是一个确定的值时就可以选用switch。反之,在大多数情况下就用if。掌握了语言法规则,不一定就能编出程序来,其实学习编程就是要学习一种思想,一种思维方法,首先要确定一种算法,如从1加到100,判断润年等,我认为这些算法都是一种思维方法。画流程图就是在构建编写程序思路的过程,当画好一个流程图时编程思想也就出来了,程序也差不多了,再结合掌握的语言的方法规则,在计算机里实现就可以了。任何程序只要有思维,有想法,那么实现程序时就不会觉得无从下手。而要学习这种思维方法就是多做题,多读程序,学习别人好的思维方法,多想想一个程序还可不可以有另外一种方法来实现它。这样久而久之,自然会形成一种自己的思维方法。因此我认为不管学什么语言都是这样。 另外,良好的编程习惯也是学好C语言的重要因素。例如编写程序时用缩进的方式、写注释、程序写到一定的阶段时要做一下测试等。这些工作可以帮我们在调试程序时有很大的帮助。程序代码实现后,错误是难免的,所以也要锻炼自己的调试查错能力,而良好的编程习惯可以使我们在调试时减小工作量和提高调试效率,也有助于形成自己的编程风格。 C语言是一种编译性的语言,由于出现的时间比较早,所以现在有很多不同的编译环境。在这里我不想推荐一种编译环境,只是希望大家能够找到满足自己要求的。首先我们可能会去找中文的编译环境,比如国内的WIN-TC之类,但是从以后的学习中我认为初学者还是应该从英文的环境开始入手会比较好。因为大多数的编译器都是英文的,如果对英文不习惯,为了将来你也要慢慢的去学习适应。当然不是每个人的英文水*都会那么好,那么我们可以借助于计算机,用一些在线的翻译软件,如金山词霸之类的就很好用。让我们在学习一种计算机语言的同时又可以从中掌握一些常用的英语单词,这对于我们以后学习计算机,无论是不是从事软件开发都会有好处的。 不要想以后的计算机语言会是中文的语句,这一点永远都只会是幻想。我们可以想一下,是打一个IF快一些,还是你打“如果”快一些呢? 学习语言要有目的性。没有目的你会发现自己的学习的过程中很枯燥,会渐渐失去对C语言的学习兴趣。所以我们要有一个远大而又容易实现的目的,我要用C语言来做什么?再把这个最终的目的分成部分,让我们慢慢的一点一点的来完成它,这样在学习C语言的过程中,我们就会始终陶醉在一个又一个成功的喜悦里,让我们的学习越来越有兴趣。有一天,我们会发现:原来学习C语言真的是一件很有意思的事儿,而且学好C语言也不是很难么! 学习C语言要有一定的方法。很多人学习C语言都是自学的,这里我向大家推荐一种方法。在学习的过程中,我们会发现一章一章的看下去会很枯燥,那么我们可以先掌握C语言的基本数据类型和控制结构,然后用自己的想法来实现一种功能,不会的地方可以再去书中找。不要把书当成教材,要把它当成一本字典,一个工具。如果大家还是习惯于看书中的章节循序渐近的话,我们也可以改一下,遇到不会的地方,我们可以跳过去,看下面的章节,直到把书看过一遍后我们再回到以前不懂的地方,你就会发现你已经可以看懂了。再有就是不要看一本书,每个人的思想都不相同,虽然都是C语言书籍的作者,但每个人对C语言的理解和表述都不会一样的,如果你正在看的一本书你看不懂,或是不理解,那么我建议你再去买一本另外作者写的。也就是说不一定别人说的好书就适合我们,书一定要多读多看。学习C语言只看书也是不够的,我们要一边看书,一边上机做练习,或者在你学习了C语言的基础知识以后就可以找一些别人的程序来看,遇到不明白的函数可以再翻一下书,当然,看别人程序的时候手头有一本库函数大全是最好不过的事儿了。如果查书也理解不了,我们可以把他的程序输入到计算机里,情况好的话能够顺利通过编译,如果不能顺利执行,我们也同样可以学习到一些C语言调试方面的知识。 说了这么多有朋友也许会问,学习C或其它语言对我们有什么好处呢?有一点我可以告诉给大家,学习C语言可以让我们更好的锻炼自己的逻辑思维能力,还可以让你掌握更好的计算机知识,在不断学习的过程中让你真正的自信起来!让我们一起来学习C语言吧! ——C语言程序设计模拟试题附答案3篇 一、单项选择题(20分,每题2分) 1.程序段 int *p,a; p=&a; a=10; printf("%d",p); 的输出应为: A)10 B)0 C)不能确定 D)语法错误 2.C语言规定,简单变量作为实参时,他和对应形参之间的数据传递方式是: A)单向值传递 B) 地址传递 C) 相互传递 D) 由用户指定方式 3.以下语句或语句组中,能正确进行字符串赋值的是。 A)char *sp;*sp="right!"; B)char s[10];s="right!"; C)char s[10];*s="right!"; D)char *sp="right!"; 4.for(i=0;i<10;i++) if(i〈=5) break; 则循环结束后i的值为 A)0 B)1 C)5 D)10 5.有以下程序 main() { int m,n,p; scanf("m=%dn=%dp=%d",&m,&n,&p); printf("%d%d%dn",m,n,p); } 若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是。 A)m=123n=456p=789 B) m=123 n=456 p=789 C)m=123,n=456,p=789 D)123 456 789 6.C语言中,最基本的数据类型包括: A)整型、实型、逻辑型 B)整型、字符型、数组 C)整型、实型、字符型 D)整型、实型、结构体 7.以下说法正确的是 A) C程序总是从第一个定义的函数开始执行 B) 在C程序中,要调用的函数必须在main()函数中定义 C) C程序总是从main()函数开始执行 D) C程序的main()函数必须放在程序的开始部分 8.程序段 int *p, a=1; p=&a; *p=10; a的值为: A) 1 B) 10 C) 不能确定 D) 11 9.以下定义语句中,错误的是 A) int a[]={1,2}; B) char *a[3]; C) char s[10]="test"; D) int n=5,a[n]; 10.假定int类型变量占用两个字节,有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是 A) 3 B) 6 C) 10 D) 20 二、填空题(30分,每空2分) 1.已知字符A的ACSII码值为65,以下语句的输出结果是 (1) 。 char ch=’B’; printf("%c %d\n",ch,ch); 2.’a’在内存中占 (2) 个字节,”a”在内存中占 (3) 个字节。 3.若有int a[3][2] = {{1},{3,2},{4,5}};,则a[1][1]的值是 (4) 。 4.有以下程序,执行后输出结果是 (5) 。 main( ) { int t=1,i=5; for(;i>=0;i--) t*=i; printf("%dn",t); } 5.在循环语句中,break语句的作用是 (6) ,continue语句的作用是 (7) 。 6.下面程序段将字符数组b连接到数组a的后面。 main() { char a[20]= ."I am "; char b[]= ."a student."; int i, j; i = strlen(a); for(j =__(8)___; b[j]!=""; j++) { a[__(9)__] = b[__(10)__]; } a[___(11)__] = ___(12)___ ; } 7.for(表达式1;表达式2;表达式3) 语句组 的执行顺序是先求解表达式1、再___(13)______、如果成立则执行___(14)____、然后___(15)______。 三、写出程序的运行结果(30分,每题10分) 1.写出程序运行后的输出结果。 int f(int b[][4]) { int i,j,s=0; for(j=0;j<4;j++) { i=j; if(i>2) i=3-j; s+=b[i][j]; } return s; } main( ) { int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}}; printf("%d\n",f(a)); } 2.写出程序运行后的输出结果 #include main() { float x=2,y; if(x<0) y=0; else if(x<10) y=1/x; else y=1; printf(“%fn”,y); } 3.(1)函数sub()的功能是什么?(2)写出程序运行的输出结果。 long sub(int num) { int i; long subsum=1; for(i=1;i<=num;i++) subsum*=i; return(subsum); } main() { int i; long sum=0; for(i=1;i<=4;i++) { sum+=sub(i); printf("sum%1d=%ldn",i,sum); } } 四、编程(完形填空)(20分,每题10分) 1.写一个函数,实现将一个长度≤80的"字符串按逆序存放。解题要求:该函数的唯一形参是字符串的起始地址。 void convert(char string[]) { int length,mid,i; char temp; length=____(1)____(string); mid=____(2)_____; for(____(3)____;i { temp=____(4)_____; string[i]=string[____(5)_____]; string[(length-1)-i]=temp; } } 2.以下程序计算某年某月有几天,1、3、5、7、8、10、12月有31天,4、6、9、11月有30天,2月为28天、闰年2月为29天。 main() { int yy,mm,day; scanf(“%d%d”,&yy,&mm); switch(__(6)___) { case1: case3: case5: case7: case8: case10: case12: day=__(7)___; break; case4: case6: case9: case11: day=__(8)___; break; case2: if(((yy%4==0)_(9)_(yy%100!=0)) (10)_(yy%400==0)) day=29; else day=28; break; } } } ——C语言程序设计苏小红著课后习题答案下载3篇 点击此处下载☞☞☞C语言程序设计(苏小红著)课后答案☜☜☜ 1. C语言是高级语言。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。 2.C语言是结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。 3.C语言功能齐全。具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。而且计算功能、逻辑判断功能也比较强大。 4. C语言适用范围大。适合于多种操作系统,如Windows、DOS、UNIX、LINUX等等;也适用于多种机型。 C语言对编写需要硬件进行操作的场合,明显优于其它高级语言,有一些大型应用软件也是用C语言编写的。 推荐访问:试题
含答案
语言程序设计
C语言程序设计试题含答案3篇
c语言程序设计试题含答案1
c语言程序设计试题含答案
C语言程序设计试题含答案3篇(扩展2)
C语言程序设计试题及答案1
C语言程序设计试题含答案3篇(扩展3)
C语言程序设计试题附答案1
C语言程序设计试题含答案3篇(扩展4)
c语言程序设计心得1
c语言程序设计心得2
c语言程序设计心得3
c语言程序设计心得4
c语言程序设计心得5
C语言程序设计试题含答案3篇(扩展5)
C语言程序设计模拟试题附答案1
C语言程序设计试题含答案3篇(扩展6)
C语言程序设计苏小红著课后习题答案下载1
C语言程序设计苏小红著课后习题答案下载2
热门文章:
- 述职报告幼儿园范文【优秀范文】2024-03-28
- 2023沉迷网络的危害作文6篇(全文完整)2024-03-28
- 学校执行校长在高一新生军训闭营仪式上讲话2024-03-27
- 2023年度“维度”写作提纲30例-52024-03-27
- 2023年市直部门(单位)主要负责人学习班辅导报告:审视、谋划和推动高质量发展2024-03-27
- 领导干部测评改进提升方案【精选推荐】2024-03-27
- 2023年度市总工会关于产业工人队伍建设情况汇报材料2024-03-27
- 2023年县涉法涉诉信访突出问题专项整治工作表态发言(完整文档)2024-03-27
- 2023年市民政局教育情况阶段性总结2024-03-27
- 2023年度交流发言:坚定信念守住底线(完整)2024-03-27
相关文章:
- 英语写作练习试题2023-03-31
- 2023年六年级期末考试题及答案数学【优秀范文】2023-04-08
- 2023咨询工程师组织管理检测试题【精选推荐】2023-04-10
- 考试语文训练试题,菁选3篇2023-06-20
- “四史”理论自测题100道(第四套含答案)(全文完整)2022-06-08