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
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
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语言编译器汇总的问题到这里结束啦,希望可以解决您的问题哈!