谭浩强教授,1958年清华大学自动控制系毕业。青年时代曾担任清华大学学生会主席、北京市学联副主席、全国学联执行委员、北京市人民代表、全国文教战线先进分子。
是我国计算机普及和高校计算机基础教育的开拓者之一。现担任全国高等院校计算机基础教育研究会荣誉会长、教育部全国计算机应用技术证书考试委员会主任委员、教育部全国计算机等级考试委员会顾问、中国老教授协会常务理事,是在我国有巨大影响的著名计算机教育专家。2004年2月19日人民日报专栏文章中说∶“20世纪中国计算机普及永远绕不开一面旗帜,那就是谭浩强”。
他创造了三个基尼斯记录∶
(1)30年来他(以及和他人合作)共编著出版了150本计算机著作,此外主编了400多本计算机书籍,是出版科技著作数量最多的人。
(2)他编著和主编的书发行量超过5500万册,是读者最多的科技作家。我国平均每23人、知识分子每12人就拥有一本谭浩强的书。
(3) 他和别人合著的《BASIC语言》发行1250多万册,创科技书籍发行量的最高纪录。
至2008年底,他编著的书中发行量超过1000万册的就有两种(《BASIC语言》和《C程序设计》),这不仅在我国科技界绝无仅有,在世界上也无前例。他编著的计算机教材BASIC,FORTRAN, COBOL, PASCAL,QBASIC,C等书发行量均为全国之首。全国大多数高校都首选他的书为教材。
他曾在中央电视台向全国系统地讲授了BASIC, FORTRAN, COBOL, PASCAL, C, QBASIC, Visual BASIC等7种计算机语言,观众超过500万人。在我国学习计算机的人中很少有人不知道谭浩强的名字的。他善于用读者容易理解的方法和语言说明复杂的概念。许多人认为他“开创了计算机书籍贴近大众的新风”,为我国的计算机普及事业作出重要的贡献。
获全国高校教学成果奖国家级奖、国家科技进步奖、国务院特殊津贴、多项部委级优秀教材奖,北京市政府授予“有突出贡献专家称号” 。被国家科委、中国科协表彰为“全国优秀科普工作者” 。英国剑桥国际传记中心将他列入“世界名人录”。原全国政协副主席、国家科委主任、中国工程院院长宋健院士称誉他为“教授计算技术的大师、普及现代科技之巨擘”。全国人大常委、教育部原副部长吴启迪题词:“向计算机教育与普及的辛勤耕耘者与奠基人谭浩强教授致敬”!。
2000年1月被《计算机世界》报组织的“世纪评选”评为我国“20世纪最有影响的十个IT人物”之一(排在笫2位)。2001年10月被《电脑报》评为“我国十大IT人物”。2004年1月被《程序员》杂志评为“影响中国软件开发的20个人”中“教育先导”的第一人。2009年在加拿大举行的国际信息教育大会授予谭浩强“信息教育杰出成就奖”和“终身成就奖”。他的功绩是把千百万群众带入计算机的大门。2004年2月19日《人民日报》发表专门文章介绍谭浩强教授的事迹,题目是“谭浩强浇灌平凡”,称赞他把平凡工作做成伟大。
被同济大学、兰州大学、华中科技大学、西南交通大学、西南财经大学、上海海洋大学等20多所大学聘为客座教授。
近年来,谭浩强教授应邀到全国280多所大学做了《怎样走向成功之路》的报告,听众逾20万人,报告会盛况空前,场场爆满,有的大学生站着听了近3小时的报告,学生反映十分强烈,认为是“多年未听到过的震撼人心的报告”。
(1)十进制数1385转换成十六进制数为
A)568 B)569 C)D85 D)D55
(2)下列叙述中正确的是
A)计算机病毒只能传染给可执行文件
B)计算机软件是指存储在软盘中的程序
C)计算机每次启动的过程之所以相同,是因为RAM中的所有信息在关机后不会丢失
D)硬盘虽然装在主机箱内,但它属于外存
(3)一个字长的二进制位数是
A)8 B)16
C)32 D)随计算机系统而不同的
(4)CPU主要由运算器与控制器组成,下列说法中正确的是
A)运算器主要负责分析指令,并根据指令要求作相应的运算
B)控制器主要完成对数据的运算,包括算术运算和逻辑运算
C)控制器主要负责分析指令,并根据指令要求作相应的运算
D)控制器直接控制计算机系统的输入与输出 *** 作
(5)下列叙述中正确的是
A)将数字信号变换成便于在模拟通信线路中传输的信号称为调制
B)以原封不动的形式将来自终端的信息送入通信线路称为调制解调
C)在计算机网络中,一种传输介质不能传送多路信号
D)在计算机局域网中,只能共享软件资源,而不能共享硬件资源
(6)各种网络传输介质
A)具有相同的传输速率和相同的传输距离
B)具有不同的传输速率和不同的传输距离
C)具有相同的传输速率和不同的传输距离
D)具有不同的传输速率和相同的传输距离
(7)多媒体计算机系统的两大组成部分是
A)多媒体功能卡和多媒体主机
B)多媒体通信软件和多媒体开发工具
C)多媒体输入设备和多媒体输出设备
D)多媒体计算机硬件系统和多媒体计算机软件系统
(8)按通信距离划分,计算机网络可以分为局域网和广域网。下列网络中属于局域网的是
A)Internet B)CERNET C)Novell D)CHINANET
(9)在Windows中,启动应用程序的正确方法是
A)用鼠标双击该应用程序图标B)将该应用程序窗口最小化成图标
C)将该应用程序窗口还原D)将鼠标指向该应用程序图标
(10)在Windows中,终止应用程序执行的正确方法是
A)用鼠标双击应用程序窗口左上角的控制菜单框
B)将应用程序窗口最小化成图标
C)用鼠标双击应用程序窗口右上角的还原按钮
D)用鼠标双击应用程序窗口中的标题栏
(11)DOS控制键CtrlAltDel的功能为
A)删除一个字符并退格B)暂停标准输出设备的输出
C)热启动D)终止当前 *** 作
(12)设当前盘为C盘,为了将A盘当前目录中所有扩展名为。PAS 的文件改成扩展名为。P,应使用的DOS命令为
A)REN A:。PAS A:。P B)REN A:。PAS 。P
B)REN A:。PAS A:。P D)REN A:。PAS 。P
(13)设当前盘为C盘,其根目录下有两个子目录D1与D2,且当前目录为D1,若要进入子目录D2,正确的DOS命令为
A)CD D2 B)CD D2、C)CD 、D2 D)CD D1、D2
(14)设当前盘为A盘,要将B盘当前目录下的两个文件ATXT与XTXT 连接后以文件名YTXT存放到A盘的当前目录中,正确的DOS命令为
A)COPY ATXTXTXT A:YTXT B)COPY B:ATXTXTXT A:YTXT
B)COPY B:ATXTB:XTXT》YTXT D)COPY B:ATXTB:XTXT YTXT
(15)下列DOS命令中正确的是
A)REN 、USER、ATXT 、BTXT B)CD 、
C)TYPE 。TXT D)MD 、
(16)以下选项中属于C语言的数据类型是
A)复数型B)逻辑型C)双精度型D)集合型
(17)在C语言中,不正确的int类型的常数是
A)32768 B)0 C)037 D)0xAF
(18)语句:printf(“%d”,(a=2)&&(b=——2);的输出结果是
A)无输出B)结果不确定C)——1 D)1
(19)下列描述中不正确的是
A)字符型数组中可以存放字符串
B)可以对字符型数组进行整体输入、输出
C)可以对整型数组进行整体输入、输出
D)不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值
(20)设有如下定义:int x=l,y=——1;,则语句:printf(“%d、n”,(x——&y));的输出结果是
A)1 B)0 C)——1 D)2
(21)当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是
A)c=b=a;B)(a=c)‖(b=c);
C)(a=c)&&(b=c);C)a=c=b;
(22)以下程序的输出结果是
A)10 1 9 2 B)9 8 7 6 C)10 9 9 0 D)10 10 9 1
main()
{int x=10,y=10,I;
for(i=0;x》8;y=i)
printf(“%d,%d ”,x——,y);
}
(23)以下程序的输出结果是
A)5 2 B)5 1 C)5 3 D)9 7
main()
{int i,x[3][3]={9,8,7,6,5,4,3,2,1},p=&x[1][1];
for(i=0;i《4;i=2)printf(“%d ”,p[i]);
}
(24)以下程序的输出结果是
A)6 B)6789 C)'6'D)789
main()
{char a[10]={'1','2','3','4','5','6','7','8','9',0},p;
int i;
i=8;
p=aI;
printf(“%s、n”,p——3);
}
(25)以下程序的运行结果是
A)运行后报错B)6 6 C)6 12 D)5 5
#include “stdioh”
main()
{
int a[]={1,2,3,4,5,6,7,8,9,10,11,12,};
int p=a5,q=NULL;
q=(p5);
printf(“%d %d 、n”,p,q);
}
(26)以下说法中正确的是
A)#define和printf都是C语句B)#define是C语句,而printf不是
C)printf是C语句,但#define不是D)#define和printf都不是C语句
(27)语句:printf(“%d 、n”,12 &012);的输出结果是
A)12 B)8 C)6 D)012
(28)能正确表示a和b同时为正或同时为负的逻辑表达式是
A)(a》=0‖b》=0)&&(a《0‖b《0)
B)(a》=0&&b》=0)&&(a《0&&b《0)
C)(ab》0)&&(ab《=0)
D)ab》0
(29)以下程序的输出结果是
A)2 0 B)3 1 C)3 2 1 D)2 1 0
main()
{int n=4;
while(n——)printf(“%d ”,——n);
}
(30)若已定义:int a[9],p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是
A)p1 B)a1 C)aD)p
(31)以下程序的输出结果是
A)17,021,0x11 B)17,17,17
B)17,0x11,021 D)17,21,11
main()
{int k=17;
printf(“%d,%o,%x 、n”,k,k,k);
}
(32)以下程序的输出结果是
A)——1 1 B)0 1 C)1 0 D)0 0
main()
{int a=——1,b=1,k;
if((a《0)&&!(b——《=0))
printf(“%d %d、n”,a,b);
else
printf(“%d %d、n”,b,a);
}
(33)若有说明:long p,a;则不能通过scanf语句正确给输入项读入数据的程序段是
A)p=&a;scanf(“%ld”,p);
B)p=(long )malloc(8);scanf(“%ld”,p);
C)scanf(“%ld”,p=&a);
D)scanf(“%ld”,&a);
(34)以下选项中,能定义s为合法的结构体变量的是
A)typedef struct abc B)struct
{double a;{double a;
char b[10];char b[10];
}s;}s;
C)struct ABC D)typedef ABC
{double a;{double a;
char b[10];char b[10];
}}
ABC s;ABC s;
(35)若有以下的说明和语句,则在执行for语句后,((ptl)2)表示的数组元素是
A)t[2][0]B)t[2][2]C)t[l][2]D)t[2][l]
int t[3][3],pt([3],k;
for (k=0;k《3;k)pt[k]=&t[k][0];
(36)下面程序把数组元素中的最大值放入a[0]中。则在if 语句中的条件表达式应该是
A)p》a B)p》a[0]C)p》a[0]D)p[0]》a[0]
main()
{int a[10]={6,7,2,9,1,10,5,8,4,3},p=a,I;
for(i=o;i《10;i,p)
if(________)a=p;
printf(“%d”,a);
}
(37)以下程序的输出结果是
A)ihgfedcba B)abcdefghi C)abcdedeba D)ihgfefghi
#include
main()
{char a=“abcdefghi”;int k;
fun(a);puts(a);
}
fun(char s)
{int x,y;char c;
for(x=0,y=strlen(s)——1;x0)fun(k——1);
printf(“%d”,k);
}
(42)以下程序的输出结果是
A)6 9 9 B)6 6 9 C)6 15 15 D)6 6 15
int d=1;
fun(int p)
{static int d=5;
d=p;
printf(“%d ”,d);
return(d);
}
main()
{int a=3;printf(“%d 、n”,fun(afun(d)));}
(43)以下程序的输出结果是
A)123456780 B)123 456 780 C)12345678 D)147
main()
{char ch[3][4]={“123”,“456”,“78”},p[3];int i;
for(i=0;i《3;i)p[i]=ch[i];
for(i=0;i《3;i)printf(“%s”,p[i]);
}
(44)以下程序的输出结果是
A)1 B)4 C)7 D)5
#include
int a[3][3]={1,2,3,4,5,6,7,8,9,},p;
main()
{p=(int)malloc(sizeof(int));
f(p,a);
printf(“%d 、n”,p);
}
f(int s,int p[][3])
{s=p[1][1];}
(45)以下程序的输出结果是
A)9 B)6 C)36 D)18
#define f(x)xx
main()
{int a=6,b=2,c;
c=f(a)/f(b);
printf(“%d 、n”,c);
}
(46)以下程序的输出结果是
A)4 2 1 1 B)0 0 0 8 C)4 6 7 8 D)8 8 8 8
main()
{char s=“12134211”;int v[4]={0,0,0,0},k,i;
for(k=0;s[k];k)
{switch(s[k])
{case '1':i=0;
case '2':i=1;
case '3':i=2;
case '4':i=3;
}
v[i];
}
for(k=0;k《4;k)printf(“%d ”,v[k]);
}
(47)以下程序的输出结果是
A)AfghdEFG B)Abfhd C)Afghd D)Afgd
#include
main()
{char p1,p2,str[50]=“ABCDEFG”;
p1=“abcd”;p2=“efgh”;
strcpy(str1,p21);strcpy(str3,p13);
printf(“%s”,str);
}
(48)以下程序的输出结果是
A)###B)#####C)D)##
main()
{int i;
for(i=1;i《6;i)
{if(i%2){printf(“#”);continue;}
printf(“”);
}
printf(“、n”);
}
(49)若有以下定义和语句:
double r=99,p=&r;
p=r;
则以下正确的叙述是
A)以下两处的p含义相同,都说明给指针变量p赋值
B)在“double r=99,p=&r;”中,把r的地址赋值给了p所指的存储单元
C)语句“p=r;”把变量r的值赋给指针变量p
D)语句“p=r;”取变量r的值放回r中
(50)以下程序的输出结果是
A)编译不通过,无输出B)aceg
C)acegi D)abcdefghi
main()
{int i;
for(i='A';i《'I';i,i)printf(“%c”,i32);
printf(“、n”);
}
二、填空题(每空2分,共40分)
请将每空的正确答案写在答题卡____1_____至___20_____序号的横线上,答在试卷上不得分。
(1)DOS命令分为内部命令与外部命令,PATH命令是____1____命令。
(2)设当前盘为A盘,当前目录为、X、Y,A盘上的一个文件QRC 在当前目录下的子目录W中。现已将A盘的当前目录改为、D、XY,当前盘改为C盘,如果需指定A盘上的该文件应写成____2____。
(3)为了得到XCOPY命令的在线帮助,可使用的DOS命令文件一为____3____。
(4)在DOS系统下,代表键盘与显示器的设备文件名为____4____。
(5)在DOS系统下,可以直接执行的文件的扩展名除。FXE外,还有两个是____5____。
(6)若想通过以下输入语句使a=50,b=4,c=3,则输入数据的形式应该是____6____。
。
。
。
int b,c;float a;
scanf(“%f,%d,c=%d”,&a,&b,&c);
。
。
。
(7)下列程序的输出结果是_____7____。
#include
main()
{char b[30],chp;
strcpy(&b[0],“CH”);
strcpy(&b[1],“DEF”);
strcpy(&b[2],“ABC”);
printf(“%s 、n”,b);
}
(8)下列程序的输出结果是____8____。
int t(int x,int y,int cp,int dp)
{cp=xxyy;
dp=xx——yy;
}
main()
{int a=4,b=3,c=5,d=6;
t(a,b,c,d);
printf(“%d %d 、n”,c,d);
}
(9)下列程序中字符串中各单词之间有一个空格,则程序的输出结果是____9____。
#include
main()
{char strl[]=“How do you do”,p1=strl;
strcpy(strlstrlen(strl)/2,“es she”);
printf(“%s 、n”,pl);
}
(10)以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。请填空。
main()
{float x[1000],sum=00,ave,a;
int n=0,i;
printf(“Enter mark:、n”);scanf(“%f”,&a);
while(a》=00&&n《1000)
{sum____10____;x[n]=_____11____;
n;scanf(“%f”,&a);
}
ave=____12____;
printf(“Output:、n”);
printf(“ave=%f、n”,ave);
for(i=0;i
main()
{FILE fp;
char ch,fname[32];int count=0;
printf(“Input the filename :”);scanf(“%s”,fname);
if((fp=fopen(____16____,“w”))==NULL)
{printf(“Can't open file:%s 、n”,fname);exit(0);}
printf(“Enter data:、n”);
while((ch=getchar())!=“#”){fputc(ch,fp);count;}
fprintf(____17____,“、n%d、n”,count);
fclose(fp);
}
(13)以下函数creatlist用来建立一个带头节点的单链表,链表的结构如下图所示,新的结点总是插入在链表的末尾。链表的头指针作为函数值返回,链表最后一个节点的next域放入NULL,作为链表结束标志。data为字符型数据域,next为指针域。读入时字符以#表示输入结束(#不存入链表)。请填空。
struct node
{char data;
struct node next;
};
。
。
。
_____18_____ creatlist()
{struct node h,s,r;char ch;
h=(struct node )malloc(sizeof(struct node));
r=h;
ch=getchar();
{s=(struct node )malloc(sizeof(struct node));
s——》data=____19____;
r——》next=s;r=s;
ch=getchar();}
r——》next=____20_____;
return h;
}
>
谭老的《C程序设计》就很适合初学者,曾在上世纪九十年代横行各大高校。至于一、二、三版,那是对前一版本的修订版,每次修订都对上一版本作一些增删处理。第一版以C87标准为基础,第二版以C99标准为基础,第三版增加了一章C++的内容,但大部分内容没有改变,如例题,习题等。你当然是选择第三版了,当然选第二版也可以。下面是我收藏的电子书,供你参考。
pdf格式:
>
书上面ANSI只给了两种方式:
intmain(void){//}和intmain(intargc,charargv[]){//}
其它的形式都是不标准的,属未定义行为。
老谭虽然水平不高,但是在中国计算机教育的早期他的确作出了不少贡献。因为那时全国上下懂计算机的人很少、总体水平极低,所以以老谭之碌碌,仍能对大伙有所帮助。
但是人贵有自知之明:你的时代已经过去了,你就应该知趣地退在一边看年轻人的表演。这方面王选先生就很值得学习。
王先生自已说过:在90年代初的时候他就深切地体会到自己对新技术的学习和掌握已经赶不上身边的年轻人了,所以他自觉退出科研一线,让有能力和活力的年轻学者挑大梁。
反观谭先生,不但隔个一年半载的就要把他那泛黄的书稿拿出来掸掸灰、改几个字,然后找家出版社出版。
而且,他老先生还成立了一个所谓“谭浩强工作室”,组织一伙写手写了一批同样的碌碌之作——其中某些书涉及的领域,相信谭先生自己恐怕知之甚少。
以王选先生之学识和名望,尚知其力有不逮。老谭,你为什么不惭愧?
学习C语言要一个月左右时间。
C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
《C语言程序设计》是基础,学校学习C语言的必备书籍,想用这本书里的程序写个像样的程序,不太可能。迷茫是肯定的,不应该问别人该读哪些书,而是该问你自己想做什么?想学什么?
学习编程《数据结构》和《算法》也是两门必修课,程序 = 数据结构 + 算法 。推荐你好好看看。不过对于新手来说,这两门是大难点,而且很枯燥,因为什么?没有能做出来可以运行的东西,会很快丧失学习的动力。
如果想实践,建议你可以看《Linux 系统编程》,C语言作为一门底层语言,既是基础,也是很强大,运行速度非常快的一门语言,如果学习他,不用作底层linux开发太可惜了。了解熟悉Linux的系统API,进程调度,读写文件等等,都是很有挑战性也很锻炼人的。
想要用C语言实践,链表 、指针是肯定要熟的,你可以先从做个学生学籍管理系统做起,保存一个班学生的姓名,性别,各门课成绩,添加删除学生。
好了,纯手打,望给分,谢谢!
马丽梅。本课程由资深辅导教师马丽梅老师讲授,全面讲解教材的重点、难点、考点,教会学员理解并掌握该教材中的基本概念、基本原理和基本方法。C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发,尤其是单片机与嵌入式的开发。
以上就是关于计算机教育家谭浩强的个人简介有没有最新的啊全部的内容,包括:计算机教育家谭浩强的个人简介有没有最新的啊、20分求谭浩强的C程序设计基础习题、编程零基础想学C语言,谭浩强老师的《C程序设计》很好,但版本太多,我该学哪个版本等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)