请教高手有关C语言的编程题

作者&投稿:月怨 (若有异议请与网页底部的电邮联系)
C语言程序设计试题~

1. 一条简单语句是以_____;___字符作为结束符的,一条复合语句是分别以___{_____字符和_____}___字符作为开始符和结束符的。
2. 任何一个C++程序至少且只能包含一个_____主___函数,且程序总是从这个函数开始执行,不论这个函数的位置如何。一个函数定义由 函数头 和 函数体 两部分组成。
3. C++头文件和源程序文件的扩展名分别为 .h 和 .cpp。
4. cout与操作符__<<_配合使用才能显示输出,cin与操作符_>>_配合使用才能实现输入。
5. 数据类型int,char,bool,float,double, int * 等的类型长度分别为___4_、1_、_1_、_4、_8___和_____4___。
6. 数值常量46、0173和0x62对应的十进制值分别为_____46___、____123____和______98__。
7. 字符串”It\’s\40a\40C++programe!”中包含有______19____个字符。
8. 若x=5,y=10,则计算y*=++x表达式后,x和y的值分别为____6____和____60____。
9. 若x=25,则计算y=x--表达式后,x和y的值分别为____24____和__25______。
10. 假定x和ch分别为int型和char型,则sizeof(x)和sizeof(ch)的值分别为___4_____和_____1___。
11. 假定x=64,y=88,则x<<2和y>>2的值分别为____128____和___44_____。
12. 假定x是一个逻辑量,则x&&true的值与_____x___的值相同,x||false的值也与_____x___的值相同。
13. 假定x是一个逻辑量,则x&&!x和x||!x的值分别为____0____和____1____。
14. 假定x=10,则表达式x<=10?20:30的值为____20____。
15. 表达式sqrt(81)和pow(6,3)的值分别为________9______和_________216_____。
16. 数学算式(1+x)sin48°和axbex+1对应的算术表达式分别为___(1+x)*sin(48*3.14159/180)_____和_____a*pow(x,b)*exp(x+1)___。
17. 逻辑表达式:a>=x||b>2*y+10的相反式为:___~(a<=x&&2*y+10)_____。
18. 在嵌套的if语句中,每个else关键字与它前面最接近的____if____关键字相配套。
19. 在for语句中,假定循环体被执行次数为n,则<表达式1>共被计算____n___次,<表达式2>共被计算____n____次,<表达式3>共被计算____n____次。
20. 执行for和while循环时,每次是先进行____条件____的判断,然后再执行____循环___,执行do循环时则相反。
另外,站长团上有产品团购,便宜有保证

#include
int main(void)
{
FILE *fp;
int a[100];
int i=0;
int j,temp;;
if((fp=fopen("text.txt","rb"))==NULL)
{
printf("error!");
exit(1);
}

while(fscanf(fp,"%d",&a[i])==1&&++i<100)
; //将文件中100个数读入数组中

fclose(fp); //关闭文件

for(i=0;i<99;i++) //将数组中100个数进行冒泡排序
for(j=i+1;j<100;j++)
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}

if((fp=fopen("text1.txt","w"))==NULL) //以写方式打开另一个文件
{
printf("error!");
exit(1);
}

for(i=0;i<100;i++)
fprintf(fp,"%d
1",a[i]);

fclose(fp);

return 0;

}

我帮你实现了,有不看懂追我吧,需要读的文件也附给你了,望采纳

a是一个结构体的指针a->ave等价于(*a).ave ,它得到结构体中的ave成员的值,因为a->ave比(*a).ave更简洁直观所以通常用前者,其实他两是一个意思

typedef struct
{ char num[10];
double s[N];
double ave;
} STREC;
声明了结构,STERC是该结构的一个实例,而oid fun(STREC *a)参数为STERC类型指针,该明白了吧

ave是结构体类型STREC的一个成员变量,所以必须通过该结构体类型的变量或者指针访问.

你应该去看看C语言教材中有关结构体和指针的内容,不应该提这些愚蠢的问题.

*******************************************************
因为a是指向STREC结构体变量的指针啊!

这里:

oid fun(STREC *a)

这里的STREC *a就说明了a是一个STREC类型的指针啦!而STREC又是在程序中定义过的一个结构体类型.

********************************

说明a是一个指针,->用于间接访问结构成员.

a->ave

等价于:

(*a).ave

意思是要访问a指针指向的结构体变量的ave成员


请教C语言高手推荐学习C语言的书籍??
新手入门推荐谭浩强的《C语言程序设计》,不过这本书仅限入门,内容易懂,但是代码写法不够规范始终是个问题 练习书籍推荐一本上机指导即可 还有本不错的书叫《C语言百问百答》,答疑解惑是很不错的 如果觉得学的入门了,推荐看《C语言从入门到精通》以及《C和指针》系列的书籍 编程小白拍爪,有误之...

C语言问题,请教高手?
(因为你问这个问题,所以肯定有些混乱,所以我们讨论问题的中心,其他东西不多说,免得更混乱,以前我学这个的时候也是这样)C是错误的,strcpy(a,“HELLO!”);这个函数是把HELLO!复制到A所知的存储空间。注意,是存储空间。所以,C选项是错误的,为什么C是错误的呢?让你混乱的地方肯定是这里:C选项...

请教各位高手.什么是C语言
C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛。C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它解释型...

20道C语言选择题,请教高手
答案:C 7.设char *s=”china”;则printf (“%s,%c,%c\\n”,s,*s,s[3]);的输出是 A. china,c,n B. china,china,i C. c,c,n D. china,china,n 答案:A 8.设有定义struct ru{long x;float y;}time,*timep=&time;则对time中成员x的正确引用是 A. ru.time.x B. tim...

请教高手,C语言中,把变量定义在主函数之外和定义在主函数之内有什么区别...
两者的区别只在于作用域和生存周期。main函数是一个进程的入口,此外,和别的函数无区别。1、main函数里定义的是局部变量,只是在main函数里有效。2、如果程序里有多个函数,定义的全局变量在这些函数里都可以使用,而在main中定义的只能在main中使用,其他函数不可以直接调用。3、题目中的两个程序的区别...

c语言 求教高手帮忙解答 关于指针
{ char str[80],*p,max,*q;p=str;\/\/将指针指向数组首地址 gets(p);\/\/从标准输入读取字符串 q=p;\/\/最大的字符所在的位置 max=*(p++);\/\/将第一个字符当成最大值 while(*p!='\\0'){\/\/找最大的字符 if(max<*p){ max=*p;\/\/将最大的字符赋值给max q=p;\/\/将最大字符的地址赋值...

如何学好一门编程语言。需要掌握些什么知识才能叫高手?比如C语言
一.学好c语言的运算符和运算顺序 这是学好《c程序设计》的基础,c语言的运算非常灵活,功能十分丰富,运算种类远多于其它程序设计语言。在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单,但初学者往往会觉的这种表达式难读,关键原因就是对运算符和运算顺序理解不透不全。当多种...

C语言代码解释 请教高手
struct MOSI_CODE{ char c;\/\/字母c(可能是任意字符)char code[MAX_LENGTH+1];\/\/字母c(上述字符)对应的摩斯码 }; \/\/结构体MOSI_CODE(摩斯码),其中含两个元素,一个是字符型的c,一个是长度为MAX_LENGTH+1的字符数组code[MAX_LENGTH+1]即code[8]const int CHAR_NUM = sizeof(code...

几个关于编程C语言的题目,请教高手
度为1就是结点有一个分支。逐一的访问或进行某种处理二叉树中的结点,叫做二叉树的遍历。三种方法:先序,中序,后序遍历。这三中方法不同之处仅在于访问根结点和遍历左右树的先后关系。比如说按从小到大的顺序排序,1,2,...n.最坏情况所给数列为:n,n-1...3,2,1;第一次要进行n次的元素...

一个关于c语言的头文件问题,高手请入。
根据需要,一个C程序中可以有多个头文件。写程序时要包含所用到的标准库函数的声明所在的头文件,比如说:如果用到printf()\/scanf()等输入输出函数,就要包含stdio.h头文件,如果用到数学函数,就要包含math.h头文件。当然!头文件的包含规则没有太多的限制,可以有任意多的头文件包含,甚至同一个头...

右玉县15662726102: 求高手解答C语言编程题~~~ -
竹鹏千珍: #include<stdio.h> double get_cos(double x); double fun(double x,int n); void main() {//cos(x)=1-x2/2!+x4/4!-x6/6!+……// 要求:X的值由键盘输入(代表弧度),//运算精度保持到最后一项的绝对值小于10的-6此方为止.//注明(X4是x的4次方...

右玉县15662726102: C语言编程题,求助高手!!! -
竹鹏千珍: /*用scanf()无法输入空格,就用getchar了*/ #include<stdio.h> int main(void) {char ch;static char str[128];int i=0;int j=0;printf("input the string: \n");while(1){ch=getchar();if(ch=='\n'||i>127)break;str[i]=ch;i++;}for(i=0;str[i];i++){for(j=...

右玉县15662726102: 一个C语言编程题目,请高手指点
竹鹏千珍: 可以参考以下:1.程序分析: 2.程序源代码: #definenmax50 main() { inti,k,m,n,num[nmax],*p; printf("pleaseinputthetotalofnumbers:"); scanf("%d",&n); p=num; for(i=0;i *(p+i)=i+1; i=0; k=0; m=0; while(m { if(*(p+i)!=0)k++; if(k==3) {*(p+i)=0; k=0; m++; } i++; if(i==n)i=0; } while(*p==0)p++; printf("%disleft\n",*p); }

右玉县15662726102: c语言编程题,求高手! -
竹鹏千珍: 少年,先帮你分析一下吧.初始状态:f1=1,f2=1 i=1时,f1=f1+f2=1+1=2(第一项和第二项相加,f1变为第三项) f2=f2+f1=1+2=3(第二项和第三项相加,f2变为第四项) 下次循环就分别算出了第五项和第六项 也就是说,一个循环里面就算了数...

右玉县15662726102: 求两道C语言编程题!!高手进. -
竹鹏千珍: /*最大公约数,最小公倍数*/#include int maxgys(int a,int b); main() { int a,b,min,max; printf("请输入两个数:"); scanf("%d%d",&a,&b); max=maxgys(a,b); min=a*b/max; printf("最大公约数为%d\n最小公倍数为:%d\n",max,min); } int ...

右玉县15662726102: C语言 求教高手帮忙 程序题 -
竹鹏千珍: struct ks {int a; int *b; }s[4],*p; main() {int n=1,i; printf("\n"); for(i=0;i<4;i++) {s[i].a=n; s[i].b=&s[i].a; n=n+2; }//出了这个循环后s[0]=1,s[1]=3,s[2]=5,s[3]=7 p=&s[0];//p只向s[0] p++;//p指向s[1] printf("%d,%d\n",(++p)->a,(p++)->a);//重点来了,函数...

右玉县15662726102: 关于C语言编程的练习题 -
竹鹏千珍: 问题1:计算按照优先级顺序为a=a*a=100;a=a-a=0;a=a+a=0 问题2:这个是字符的ASC码值的计算,A=65,a=97,f=102,表达式的值等于65 +(102-97+1)=71 问题3:对于有符号整数来说,最小的负数-1=最大的整数,最大的整数+1=最小的负数.x--是先赋值x给打印出来,后执行了--操作的. 问题4:输出结果为0261,因为%#o是输出8进制结果177=2*64+6*8+1

右玉县15662726102: 高手帮帮忙做几道c语言编程题 急求
竹鹏千珍: 第一题: int i,sum,iFlag; iFlag = 1; sum = 0; for (i=1;i<102;i+=2) { sum+=(i*iFlag); iFlag *= -1; } // 打印结果 printf("result=%d",sum); 第二题: (1): double e,jc; int i,j; // 计算前50项 e=1; for(i=1;i<51;i++) { jc=1; // 计算阶乘 for(j=2;j<=i;j++) { jc*...

右玉县15662726102: C语言编程题,请高手来解答下
竹鹏千珍: #include<stdio.h> main() { int a[3][3]={1,2,3,4,5,6,7,8,9} int i,j,sum=0; for(i=0;i<3;i++) for(j=0;j<3;j++) {if(i==j||i+j=2) sum+=a[i][j]; } printf("对角线的之和=%d\n",sum); } 不好意思上面那个有点小错 #include<stdio.h> main() {int a[3][3]={1,2,3,4,5,6,...

右玉县15662726102: C语言的编程题,寻求高手解答
竹鹏千珍: c=-1 d=255 计算机中的数据都是以补码形式存储,补码以最高位(符号位)1表示负,以0表示正,并且定义10000000=-128(这是一种约定,否则10000000应该等于-0) 如果你知道补码和原码是如何转化的,那么下面引号里的可以不看"数...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网