㈠ c语言简答题
C语言中的保留字也就是关键字``是C语言自带的,程序员自己命名标识符时不能使用保留字.C语言使用ASIC II(美国信息标准化字符集)来表示唤拆或字符,其程序结构和C++,JACA等一样有选择,循环,分支等常用结构.计算机是不能执行C语言源程序的,必须先要使用编译器使源程序编译成御轿目标代码,再使用连接程序使之成为可执行程序才能运行.目和伍前编程语言主要分为四代,第一代就是机器语言,特点是执行效率高,但对程序员要求高,移植性很差;第二代是符号语言,也就是常说的汇编语言,特点跟第一代差不多,对程序员要求就低了些;第三代就是现在常用的C,C++,JAVA,VB等高级语言,特点是对程序员要求低,不用熟悉机器的硬件,移植性好.第四代目前正在研究中吧,好像称为人工智能语言.
以上是个人观点,有什么错误之处请不要见怪.
㈡ C语言题目简答题
1、(c>=65 && c<=90)?(c=c+32):(c=c) /*符合你的要求,不是C语句,而是C表达式*/
2、a%10==5 /*符合你的要求,不是C语句,而是C表达式*/
3、【题目不全啊】
4、【题目不全啊】
5、这个题算是所有6个题中最难的了。
首先,fun函数中定义了一个static类型的变量,含义如下:
有时希望函数中的 局部 变量的值在函数调用结束后不消失而保留原值,即其占用的存储单元不释放,在下一次该函数调用时,该变量已有值,就是上一次函数调用结束时的值。这时就应该指定该局部变量为“静态局部变量”,用关键字static进行声明。
这道题还有一个迷惑点是,该程序还在“文件包含”命令下面定义了一个全局变量,变量名同样也是d。全局变量(或全程变量)可以为本文件中其它函数所共用,其有效范围从定义变量的位置开始,到本源文件结束。
这里要注意,这两个d虽然名字相同,但他们不是一个变量,两者地址不同,即占用的存储单元不一样。
要解决这道题,你还应该了解:一个C程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何(main函数可以放在程序最开头,也可以放在程序最后,或在一些函数之前,或在另一些函数之后)。
上面的问题清楚之后,下面就容易了。先执行main函数,第一句
int a=1;
定义了整型变量a并赋初值为1。然后调用输出函数
printf("%5d\n",fun(a+fun(d)));
这里,printf函数的输出列表中调用了fun函数,而fun函数中的参数是一个表达式a+fun(d),这个表达式中也有fun函数,其参数是d,这里,这个d 作为实参,必定是在“文件包含”命令下面定义的全局变量d,即先执行了fun(1)。
好,我们看看执行fun(1)是什么效果。首先形参p得到了实参的值1,然后
static int d=5;
定义了一个局部静态变量d, 并初始化为5,然后
d+=p;
就相当于“d=d+p;”,即d=5+1,d的值为6,然后
printf("%5d",d);
输出了当前局部静态变量d的值6,然后
return d;
即函数返回值为6,main函数中fun(d)就可以用数字6代替,a+fun(d)就是7了。
然后又调用了一次fun函数,fun(a+fun(d)),即fun(7)。
好,我们继续看这时函数应该如何调用。还是形参p得到了实参值7,然后
static int d=5;
由于fun函数里的d是静态变量,在第一次调用该函数时d已经被定义,系统已经为它分配了存储存单元,所以,这次再调用fun函数的时候,d不用再定义了,而且保留上次的值6,也就是说,这次的“d=5”是不会被执行的。继续,
d+=p;
即d=d+p,也就是6+7,这次fun函数里的局部静态变量d的值为13,
printf("%5d",d);
输出d的值13,然后
return d;
fun函数返回值为13。回到main函数,fun(a+fun(d))即可用13 来代替,然后
printf("%5d\n",fun(a+fun(d)));
输出13,换行,程序运行结束。
分析完执行过程,这个题的答案就有了。由于printf函数中写在%和d之间的整数代表输出字段宽度为5(如果数据的位数小于5,则左补空格,若大于5,则按实际位数输出),fun函数的printf函数的格式控制字符串中没有换行符'\n',所以最终输出结果应该只有一行:
6 13 13
press any key to continue
要注意,6前面有4个空格,6和第一个13之间有3个空格,两个13之间也有3个空格,第二个13后面什么都没有直接换行。最后的“press any key to continue”是Visual C++ 6.0系统自动生成的,提示程序已经运行完毕,按任意键退出。
6、Visual C++ 6.0 或 Turbo C++ 3.0
艾玛,打这么多字累屎了。。。。。。
㈢ c语言简答题
简单归纳:一个程序除了数据结构,剩下的就是算法。
算法包含整合程序执行的步骤,是有限的,确定性的,完成某项功能所需的流程步骤。正者
选择不同的算法完成同一个功能,举晌薯执行效率会有高低。就像我们计算式子,一步步推谨耐,和直接套用公式就是不同的算法。
㈣ C语言简答题1
5
5
1
main
(
)
{
int
x
,
y=1
,
z;
if
(
y
!=
0
)
x=5;
/腔键/y!=0
返回成功
故x
=5
printf(“扰圆裤\t%d\n”
,
x);
//输出
5
if
(
y
=
=0
)
x
=
4;
//y==0返回失败
else
x
=
5;
//执行
x
=5
printf(“\t%d\n”
,
x);
//输出
5
x
=1;
//赋值
if
(
y
<
0)
//这里太乱缓简了
下次注意格式
if(
y
>
0)
x=4;
else
x
=
5;
printf(“\t%d\n”
,
x);
}
㈤ C语言简答题目
其它的的楼上一样,就是3,5的答案错位了。直接就给答案啊。。。
1、6 13 13 /*(注:6前面4个空格,每个13前面各三闹掘个空格)*/
3、31; 这个你注意case语句后面是没有break的,所以当i=1;case1以下的语句都执行一遍此时a=8;i=2:a=16;i=3:a=26;i=4:a=26+5=31
5、24;这里主要时棚弯清要注意p[i]%2这个条件,当p[i]%2=0时,while循环也就终止了,所以只有11+13=24;
7、c = (c>='A' && c<='Z'链前) ? (c+=32) : c
8、m=n%10==5?1:0; /*如果n的个位是5则m=1,否则等于m=0;*/
9、m = (x >= y) ? x : y
10、
switch((int)m){
case 1: k=1; break;
case 2: k=2; break;
case 3: k=3; break;
case 4: k=4; break;
/* default: printf("error"); break;*/
}
㈥ c语言简答题
预处理和函数定义不属于可薯手执行语句,它只是在编译时分配相应的内存单元而已. 执数塌嫌行语句指对内存数据进行某种操作的语句.
结构衫春化程序是指针对要解决的问题,在脑子中想出方法,根据方法、思路一步步按顺序编程,从而解决问题.它是一种思想,对“以对象为基础”的设计思维相对应。
㈦ c语言3道简答题: 1:什么是循环的过程 2:常用的选择结构有什么 3:break和continue的区别
1.循环过程就是反复执行某个或某些操作直至条凳渣判件为假或为真才停止的一个过程
2.常用的选择结构有if····else···;switch;
3.break是跳出循环也就是结束整个循环体,执枣改行循环体后的语句梁野;continue是结束循环中的单次循环从而进入循环体的下一次循环,还在循环体中。
㈧ c语言的简答题!求高手解答
1 C 外部extern
2 A 函数中有递归函数 void型函数为无返回值函数 C语言程序有函数体组成 main函数 到各个子函数等
3 D 数组名做形参传的是数组首地址 B C不解释 被调函数在主调之前可以不声明
4 D
5 D
6 B
7 B static 可以修饰任意位置变了 全局和静态变态存在数据区 初值为0
8 B
9 A static修饰局部变量后存在数据区 不在存放在栈区, 全局被修饰后不能被其他文件引用变小作用域 全局和静态变量初值为0
10 D
全手打
㈨ C语言程序设计,简答题,求正解啊.
1.以下程序的输出结果是什么。
#include<stdio.h>
voidmain()
{
inta=1,b=0;
switch(a){
//switch选择语句,a=1,那么就选择case1执行.
case1://注意此处case1没有break,所以后面的case2也执行.
switch(b){
//switch选择语句,b=0,那么就选择case0执行.
case0:printf(“0”);break;
//执行case0,输出0,它有break终止语句,所以后面的case2就不执行了.
case1:printf(“1”);break;
}
case2:printf(“2”);break;
//执行case2,输出2.
}
}
//总的输出结果:02
//知识点:理解选择分支结构,case遇到break才会终止后面的执行.
2.以下程序的输出结果是什么。
#include<stdio.h>
voidmain()
{
inta=3,b=2,c=1;
//a、b、c的作用域在main函数内.
{
intb=5,c=12;
//b、c的作用域在{}内.
c-=b*2;
//此时b、c调用的值是{}内的b=5、c=12,那么c=12-5*2=2
a+=c;
//此时的a是调用的main函数的a=3,c调用的是c=2.即结果a=3+2=5.
}
printf(“a=%d,b=%d,c=%d ”,a,b,c);//此时a、b、c都是调用的main函数内的变量,a有经过操作,a=5,b、c没有经过操作,b=2,c=1.
}
//总的输出结果为:a=5,b=2,c=1
//知识点:考查变量的作用域,记住自动变量的作用域只在{}内,超出作用域就不生效了.
3.以下程序的输出结果是什么。
#include<stdio.h>
intmain(void)
{
intx=1,y=2,z=2;
if(x)z+=1;
//x>0为真,执行z+=1;z变为3
if(!y)z+=2;//!y<0为假,不执行.
if(z)z+=3;
//z>0为真,执行z+=3;z变为6
printf("%d ",z);
//输出6
return0;
}
//总的输出结果为:6
//知识点:对if语句的判断条件,真执行、假不执行.
4以下程序的输出结果是什么。
#include<stdio.h>
intmain(void)
{
inta=3,b=4,c=5,d=6;
if(a>b)
//a>b为假,所以后面的语句不执行.
if(b>c)printf("%d",c);
elseprintf("%d",b);
//注意这里,else总是与上面的if匹配.
printf("%d ",d);
//输出d=6,没有经过任何语句操作.
return0;
}
//总的输出结果:6
//知识点:else总是与最近的if匹配.
5.以下程序的输出结果是什么。
#include<stdio.h>
voidmain()
{
ints,t,a,b;
a=2;b=4;
s=t=1;
if(a>0)s+=1;
//a>0为真,执行s+=1;s变为2
if(a>b)t=s+t;//a>b为假,所以执行else语句,else为if下面的第一个,最近的.
else
if(a==b)t=5;
//执行if(a==b)不成立,所以执行else语句,else为if下面的第一个,最近的.
elset=2*s;
//执行t=2*s;即t=2*2=4.
printf(“%d ”,t);
}
//总的输出结果为:4
//知识点:else总是与最近的if匹配.(if找它下面的第一个else,else找它上面的第一个if,前提是if、else没有括号()限制优先级)