关于C语言学习
啊!!眼看就要期末考试了,C语言的课本还是新的。想向大家讨教下C语言的学习方法这样复习起来也就更有效率这是第一次考C语言想问一下过来人这个C语言是怎么个考法要我们写程序吗...
啊!!眼看就要期末考试了,C语言的课本还是新的。
想向大家讨教下C语言的学习方法
这样复习起来也就更有效率
这是第一次考C语言
想问一下过来人 这个C语言是怎么个考法 要我们写程序吗 考的很深吗
我们的教材是谭浩强编写的第三版C语言程序设计 清华大学出版社
我是文科生 微积分学的不怎么好 顺带着C语言也不好 很难过呢
哪位能提出下经验或者建议 有用会有高分的 先谢了 展开
想向大家讨教下C语言的学习方法
这样复习起来也就更有效率
这是第一次考C语言
想问一下过来人 这个C语言是怎么个考法 要我们写程序吗 考的很深吗
我们的教材是谭浩强编写的第三版C语言程序设计 清华大学出版社
我是文科生 微积分学的不怎么好 顺带着C语言也不好 很难过呢
哪位能提出下经验或者建议 有用会有高分的 先谢了 展开
7个回答
展开全部
LZ应该买本书来.但你也可以在网上看.下载电子书.不要下英文版的.下中文版的就可以了.
但如果只是单单下电子书是不会有多大成就的.所以就要买本书.对于入门书籍.个人认为.哪种简单的都一样.没必要介绍.楼上说的"C语言程序设计"也不错.但我有句话要说.刚学的时候是辛苦的.要坚持下去.
但如果只是单单下电子书是不会有多大成就的.所以就要买本书.对于入门书籍.个人认为.哪种简单的都一样.没必要介绍.楼上说的"C语言程序设计"也不错.但我有句话要说.刚学的时候是辛苦的.要坚持下去.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2020-11-13 · IT、电竞电商、设计、动漫专业对口升学
关注
展开全部
想学好一门编程语言,仅仅是看书而不动手去练习是远远不够的,一定要把书里的代码搬到电脑里。
大多数人是使用Windows系统,那么就先下载一个Visual Studio吧,推荐使用VS2015。
喜欢Linux的朋友,可以下载一个VMWare虚拟机,在再虚拟机中安装Ubuntu等基于Linux内核的操作系统,然后再安装gcc,gdb。
安装好开放环境之后,就可以开始愉快的敲代码了。
试着写一些简单而有趣的代码,比如 Hello World,文件读写,逻辑运算、常用算法等等。
大多数人是使用Windows系统,那么就先下载一个Visual Studio吧,推荐使用VS2015。
喜欢Linux的朋友,可以下载一个VMWare虚拟机,在再虚拟机中安装Ubuntu等基于Linux内核的操作系统,然后再安装gcc,gdb。
安装好开放环境之后,就可以开始愉快的敲代码了。
试着写一些简单而有趣的代码,比如 Hello World,文件读写,逻辑运算、常用算法等等。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你好,我是计算机专业的学生。你放心,C语言考试的题是很简单的,一般分为机试和笔试。机试就是写程序了,不是很难·例如求1+2+2*2+2*2*2+……+2的十次方 这样的题,只要你好好看教程,多练习,就一定没问题!记住,一定要多练,不要以为看懂了就真的懂了,一定要自己写出来才行,很多人都以为看懂了就OK,但事实上自己一写又不会了··呵呵。笔试的话就背吧,把课后题多背背,应该没问题·最后祝你取得好成绩,呵呵
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给个样题(附答案)你参考下:
建议:在做选择题时,碰到程序题(这类题要你看段代码,选择程序的运行结果),如果你没把握的话,最快也最准确的做法就是--将代码拷贝到C环境里去运行一下,嘿嘿,答案就出来了!
1.下列关于C语言的叙述错误的是_A___
A.大写字母和小写字母的意义相同
B.不同类型的变量可以在一个表达式中
C. 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
D. 同一个运算符号在不同的场合可以有不同的含义
2.以下选项中不属于C语言的类型的是__D____
A.signed short int
B. unsigned long int
C. unsigned int
D. long short
3.设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( C )
A.不定值
B.4
C.3
D.1
4.设 int x=1, y= 1; 表达式(!x||y--)的值是B
A.0
B.1
C.2
D.-1
5.若变量已正确说明为float类型,要通过语句scanf("%f %f %f ",&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是 B
A.10<回车> 22<回车> 33<回车>
B.10.0,22.0,33.0<回车>
C.10.0<回车> 22.0 33.0<回车>
D.10 22<回车> 33<回车>
6.以下程序的运行结果是:B
main()
{int m=6;
if(m-->5) printf("%d\n",m);
else printf("%d\n",m--);
}
A. 4
B.5
C. 6
D.7
7.下面程序段的运行结果是:B
int n=2;
while(n>=0)
n=n-1;
printf("%d",n);
A. -2
B.-1
C.0
D.有语法错误
8.有函数int max(int a,int b),则以下调用语句正确的是:C
A.int max(a,b);
B.int max(3,4);
C.max(a,b);
D.max( );
9.有以下程序:
main( )
{ int aa[4]={0,2,3,4};
int i,s=1;
for(i=1;i<4;i++) s*=aa[i];
printf("%d\n",s);
}
程序运行后的输出结果是( D )
A.0
B.6
C.12
D.24
10.以下不能正确定义二维数组的是( D )
A.int a[2][3];
B.int a[2][3]={1,2,3,4,5,6};
C.int a[ ][3]={1,2,3};
D.int a[2][3]={{1},{2},{3,4}};
11.把字串b连接到字串a后面,应当使用( C )
A.strcpy(a,b);
B.strcpy(b,a);
C.strcat(a,b);
D.strcat(b,a);
12.若调用一个函数,且此函数中没有return语句,则关于该函数正确的说法是A
A.没有返回值
B.返回若干个系统默认值
C.能返回一个用户所希望的函数值
D.返回一个不确定的值
13.如果使用一个宏 tri(x+y+z) 来表示算式(x+y+z)*(x+y+z)*(x+y+z),则应如何定义 C
A.#define tri(x) x*x*x
B.#define tri(x) (x*x*x)
C.#define tri(x) (x)*(x)*(x)
D.#define tri(x) (x+y+z)*(x+y+z)*(x+y+z)
14.以下程序的输出结果是 C
main()
{int a[5]={1,2,3,4,5};
int *p=a;
printf("a=%d",*(p+3));
}
A.2
B.3
C.4
D.5
15.以下程序的输出结果为( A )
main( )
{ void sub (int *, int *);
int x=100, y=200;
sub (&x, &y);
printf(“ %d , %d \n ” , x , y);
}
A.10,20
B.20,10
C.100,200
D.200,100
16.输入一个M*N二维数组,求该二维数组所有靠外侧的元素之和。要求M和N用#define 进行定义
要求将该程序以文件名test1.c或test1.cpp保存到K盘根目录。
#include <stdio.h>
#define M 10
#define N 10
void main(){
int a[M][N],i,j,s;
int fn(int b[][N],int m,int n);//函数声明
for(i=0;i<M;i++)
for(j=0;j<N;j++)scanf("%d",&a[i][j]);//数组的输入
s=fn(a,M,N);//函数的调用
printf("s=%d\n",s);
}
int fn(int b[][N],int m,int n){
int i,j,s=0;
for(i=0;i<n;i++)s+=b[0][i];
for(i=0;i<n;i++)s+=b[m-1][i];
for(i=1;i<m-1;i++)s+=b[i][0];
for(i=1;i<m-1;i++)s+=b[i][m-1];
return s;}
17.写一个函数计算两个正整数的最小公倍数,在主函数中用scanf输入m,n两个正整数,调用函数后,打印这两个正整数的最小公倍数。
要求将该程序以文件名test2.c或test2.cpp保存到K盘根目录。
#include <stdio.h>
void main(){
int m,n,i,j,s;
int fn(int m,int n);//函数声明
scanf("%d%d",&m,&n);//数组的输入
s=fn(m,n);//函数的调用
printf("s=%d\n",s);
}
int fn(int m,int n){
int i,j,s;i=m*n;
if(m<n){j=m;m=n;n=j;}
j=m%n;
for(;j!=0;j=m%n){m=n;n=j;}s=i/n;
return s;}
建议:在做选择题时,碰到程序题(这类题要你看段代码,选择程序的运行结果),如果你没把握的话,最快也最准确的做法就是--将代码拷贝到C环境里去运行一下,嘿嘿,答案就出来了!
1.下列关于C语言的叙述错误的是_A___
A.大写字母和小写字母的意义相同
B.不同类型的变量可以在一个表达式中
C. 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
D. 同一个运算符号在不同的场合可以有不同的含义
2.以下选项中不属于C语言的类型的是__D____
A.signed short int
B. unsigned long int
C. unsigned int
D. long short
3.设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( C )
A.不定值
B.4
C.3
D.1
4.设 int x=1, y= 1; 表达式(!x||y--)的值是B
A.0
B.1
C.2
D.-1
5.若变量已正确说明为float类型,要通过语句scanf("%f %f %f ",&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是 B
A.10<回车> 22<回车> 33<回车>
B.10.0,22.0,33.0<回车>
C.10.0<回车> 22.0 33.0<回车>
D.10 22<回车> 33<回车>
6.以下程序的运行结果是:B
main()
{int m=6;
if(m-->5) printf("%d\n",m);
else printf("%d\n",m--);
}
A. 4
B.5
C. 6
D.7
7.下面程序段的运行结果是:B
int n=2;
while(n>=0)
n=n-1;
printf("%d",n);
A. -2
B.-1
C.0
D.有语法错误
8.有函数int max(int a,int b),则以下调用语句正确的是:C
A.int max(a,b);
B.int max(3,4);
C.max(a,b);
D.max( );
9.有以下程序:
main( )
{ int aa[4]={0,2,3,4};
int i,s=1;
for(i=1;i<4;i++) s*=aa[i];
printf("%d\n",s);
}
程序运行后的输出结果是( D )
A.0
B.6
C.12
D.24
10.以下不能正确定义二维数组的是( D )
A.int a[2][3];
B.int a[2][3]={1,2,3,4,5,6};
C.int a[ ][3]={1,2,3};
D.int a[2][3]={{1},{2},{3,4}};
11.把字串b连接到字串a后面,应当使用( C )
A.strcpy(a,b);
B.strcpy(b,a);
C.strcat(a,b);
D.strcat(b,a);
12.若调用一个函数,且此函数中没有return语句,则关于该函数正确的说法是A
A.没有返回值
B.返回若干个系统默认值
C.能返回一个用户所希望的函数值
D.返回一个不确定的值
13.如果使用一个宏 tri(x+y+z) 来表示算式(x+y+z)*(x+y+z)*(x+y+z),则应如何定义 C
A.#define tri(x) x*x*x
B.#define tri(x) (x*x*x)
C.#define tri(x) (x)*(x)*(x)
D.#define tri(x) (x+y+z)*(x+y+z)*(x+y+z)
14.以下程序的输出结果是 C
main()
{int a[5]={1,2,3,4,5};
int *p=a;
printf("a=%d",*(p+3));
}
A.2
B.3
C.4
D.5
15.以下程序的输出结果为( A )
main( )
{ void sub (int *, int *);
int x=100, y=200;
sub (&x, &y);
printf(“ %d , %d \n ” , x , y);
}
A.10,20
B.20,10
C.100,200
D.200,100
16.输入一个M*N二维数组,求该二维数组所有靠外侧的元素之和。要求M和N用#define 进行定义
要求将该程序以文件名test1.c或test1.cpp保存到K盘根目录。
#include <stdio.h>
#define M 10
#define N 10
void main(){
int a[M][N],i,j,s;
int fn(int b[][N],int m,int n);//函数声明
for(i=0;i<M;i++)
for(j=0;j<N;j++)scanf("%d",&a[i][j]);//数组的输入
s=fn(a,M,N);//函数的调用
printf("s=%d\n",s);
}
int fn(int b[][N],int m,int n){
int i,j,s=0;
for(i=0;i<n;i++)s+=b[0][i];
for(i=0;i<n;i++)s+=b[m-1][i];
for(i=1;i<m-1;i++)s+=b[i][0];
for(i=1;i<m-1;i++)s+=b[i][m-1];
return s;}
17.写一个函数计算两个正整数的最小公倍数,在主函数中用scanf输入m,n两个正整数,调用函数后,打印这两个正整数的最小公倍数。
要求将该程序以文件名test2.c或test2.cpp保存到K盘根目录。
#include <stdio.h>
void main(){
int m,n,i,j,s;
int fn(int m,int n);//函数声明
scanf("%d%d",&m,&n);//数组的输入
s=fn(m,n);//函数的调用
printf("s=%d\n",s);
}
int fn(int m,int n){
int i,j,s;i=m*n;
if(m<n){j=m;m=n;n=j;}
j=m%n;
for(;j!=0;j=m%n){m=n;n=j;}s=i/n;
return s;}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询