首页互联网c语言在线咨询(c语言编译器汇总)

c语言在线咨询(c语言编译器汇总)

编程之家2026-05-16798次浏览

大家好,如果您还对c语言在线咨询不太了解,没有关系,今天就由本站为大家分享c语言在线咨询的知识,包括c语言编译器汇总的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

c语言在线咨询(c语言编译器汇总)

有什么好的C语言在线编程网站吗

要学C语言的话,其实不用计算机基础知识也可以,不过需要用到有数学的知识,因为C语言属于计算机方面的编程类而不像是一些理论性的东西,它要求动手能力要更强一点。假如你想快点学C语言的话就是经常上机写程序,程序写多了就自然懂了,有疑问的问题就上机去做个实验就明白了,实验中会让你快速成长。如果你想学得更精通的话,必须学习数据结构与算法。它需要一定的数学功底,特别是高中的一些知识。

3。注意的地方不多,再强一次,编程的东西不能只是纸上谈兵。现在一般很少在TURBRO2。0上写程序了,介绍你一些C语言编程的软件,VC6。0,DEVCPP等。

网站推荐 csdn,编程中国,

C语言大师帮忙,在线等

1、______是合法的用户自定义标识符。D

A、 b-b B、float C、<fr> D、 _isw

2、若变量已正确定义并赋值,表达式______不符合C语言语法。B

c语言在线咨询(c语言编译器汇总)

A、a*b/c; B、3.14%2 C、2, b D、a/b/c

3、_____是不正确的字符常量。C

A、'n' B、'1' C、"a" D、'101'

4、在 C程序中,用_____表示逻辑值“真”。B

A、1 B、非 0的数 C、非 1的数 D、大于 0的数

5、设变量定义为“int a, b;”,执行下列语句时,输入_ _,则a和b的值都是10。D

c语言在线咨询(c语言编译器汇总)

scanf("a=%d, b=%d",&a,&b);

A、10 10 B、10, 10 C、a=10 b=10 D、a=10, b=10

6、下列程序的输出结果是_____。D

fun(int a, int b, int c)

{ c=a*b;}

void main()

{ int c;

fun(2,3,c);

printf(”%dn”,c);

}

A、0 B、1 C、6 D、无法确定

7、在C程序中,若对函数类型未加说明,则函数的隐含类型为_____。C

A、int B、double C、void D、char

8、表达式 strlen(”hello”)的值是_______。B

A、 4 B、 5 C、 6 D、 7

9、设变量定义为“int a[4];”,则表达式______不符合C语言语法。D

A、*a B、a[0] C、a D、a++

10、设变量定义为“int x,*p=&x;”,则&*p相当于_____。 A

A、p B、*p C、x D、*&x

11、有如下程序

int runc(int a,int b)

{ return(a+b);}

main0

{ int x=2,y=5,z=8,r;

r=func(func(x,y),z);

printf(“%\d\n”,r);

}

该程序的输出的结果是 D

A) 12 B) 13 C) 14 D) 15

12、有如下程序

long fib(int n)

{ if(n>2) return(fib(n-1)+fib(n-2));

else return(2);

}

main0

{ printf(“%d\n”,fib(3)); B

该程序的输出结果是

A} 2 B} 4 C} 6 D} 8

13、以下所列的C语言常量中,错误的是 D

A) 0xFF B) 1.2e0.5 C) 2L D)‘\72’

14、有以下程序段

int k=0

while(k=1)k++;

while循环执行的次数是 A

A)无限次 B)有语法错,不能执行

C)一次也不执行 D)执行1次

15、以下程序的输出结果是

fun(int x, int y, int z)

{ z=x*x+y*y;}

main()

{ int a=31;

fun(5,2,a);

printf(“%d”,a); C

}

A) 0 B) 29 C) 31 D)无定值

16、下列程序段的输出结果是

void fun(int*x, int*y)

{ printf(“%d%d”,*x,*y);*x=3;*y=4;}

main()

{ int x=1,y=2;

fun(&y,&x);

printf(“%d%d”,x, y);

} A

A) 2 1 4 3 B) 1 2 1 2 C) 1 2 3 4 D) 2 1 1 2

17、当调用函数时,实参是一个数组名,则向函数传送的是 B

A)数组的长度 B)数组的首地址

C)数组每一个元素的地址 D)数组每个元素中的值

18、以下程序的输出结果是

long fun( int n)

{ long s;

if(n==1|| n==2) s=2;

else s=n-fun(n-1);

return s;

}

main()

{ printf(“%ld\n”, fun(3));} A

A) 1 B) 2 C) 3 D) 4

19、以下程序的输出结果是

#define SQR(X) X*X

main()

{ int a=16, k=2, m=1;

a/=SQR(k+m)/SQR(k+m);

printf(“d\n”,a);

} B

A) 16 B) 2 C) 9 D) 1

C语言编程问题!!高手救命,在线等答案

分析过程:

重新定义结构体:

typedef struct student{

float c;

float java;

} STU;

然后在for循环内仅使用:

scanf("%f",&stu[i].c);//或者&(stu[i].c)

scanf("%f",&stu[i].java);//或者&(stu[i].java)

问题依旧。

但如果此时已经定义了float fTmp;并在循环体内这样写:

scanf("%f",&fTmp);

stu[i].c= fTmp;

scanf("%f",&fTmp);

stu[i].java= fTmp;

则问题得到解决。

几经修改,最后改成最原先的代码,问题也不存在了,无语……

原因分析:

可能是C运行库的问题,代码方面理论上没有任何问题的。

另外,对于应该输入float的时候用户输入char导致跳过某些变量输入的情况,这和scanf内部实现的机制有关,因为它是靠类型指针来获取对应值的,那么如果对于普通类型(比如float,VC6中为4字节)变量,如果用户的录入有问题(比如char*),scanf会直接跳过当前变量的赋值。针对这种情况,如果非要用C语言而不是C++的话,那么目前还没有好的防止错误或者在输入错误时给出提示的方法。

以下是模拟错误的执行过程:

姓名:张三

C分数:12

JAVA分数:12

姓名:王

C分数:99

JAVA分数:66

姓名:刘

C分数:34

JAVA分数:56

姓名:陈

C分数:aa

JAVA分数:姓名:cc

C分数:bb

JAVA分数:

<01> [0x0013FEE4] 12.00 [0x0013FEE8] 12.00"张三"

<02> [0x0013FF04] 99.00 [0x0013FF08] 66.00"王"

<03> [0x0013FF24] 34.00 [0x0013FF28] 56.00"刘"

<04> [0x0013FF44]-107374176.00 [0x0013FF48]-107374176.00"陈"

<05> [0x0013FF64]-107374176.00 [0x0013FF68]-107374176.00"cc"

Press any key to continue

用于模拟该错误的代码如下:

#include"stdio.h"

#define n 5

struct student

{

int num;

float c;

float java;

char name[20];

};

void main()

{

struct student stu[n];

int i;

for(i=0;i<n;++i)

{

stu[i].num=i+1;

printf("姓名:");

fflush(stdin);

gets(stu[i].name);

printf(" C分数:");

scanf("%f",&stu[i].c);

// printf("[0x%08X] size:%3d\n",&(stu[i].c),sizeof(stu[i].c));

printf(" JAVA分数:");

scanf("%f",&(stu[i].java));

}

printf("\n\n");

for(i=0;i<n;++i)

{

printf("<%02d> [0x%08X]%.2f [0x%08X]%.2f\"%s\"\n",stu[i].num,&(stu[i].c),stu[i].c,&(stu[i].java),stu[i].java,stu[i].name);

}

}

好了,关于c语言在线咨询和c语言编译器汇总的问题到这里结束啦,希望可以解决您的问题哈!

html在线编程工具(在线编程工具)c语言入门基础100题,c语言编程题经典100例