c语言!!向资深者求解!!
1.
求一段计算字符串长度的程序
2.
给二维数组赋值(还有其他简单方法吗?)
main()
{
int a[2][3],i,j;
for(i=0;i<=1;i++)
{
for(j=0;j<=2;j++)
{
a[i][j]=j;
}
}
if(i=1)
{
for(j=0;j<=2;j++)
{
a[i][j]=j;
}
}
}
3.
看不懂(输入输出重定向)(有详细的资料麻烦说下)
可执行版本tax(unix)或tax.exe(ms-dos)
%tax<incomes.dat>out.dat
(我只知道意思是把incomes.dat输入到out.dat的表面意思,其他什么都不知道,)
4.
$define/user sys$ input infile.dat
(输入就被文件infile.dat 取代,不懂啊,很3一样)
5.
可执行程序版本为tax.exe
$define/user sys$input incomes.dat
$run tax
(完全不懂)
6.
一个十进制常量没以U或L结尾,就属于int unsignedint long 或unsigned long
(这4中类型中第一个可靠表示其值的类型)(什么意思?)
7.
%e代表什么?
8.
for(x=0;i<=5;i+=0.1)
printf("%f.1",x);
(为什么没输出1.0)
9.
for(i=0;i<5;i++)
for(j=0;j<5;j++)
for(k=0;k<5;k++)
if(i+j+l==2)
goto out;
out:printf("%d%d%d",i,j,k); /*为什么if条件或满足*/
10.
char string1[5]="the",string2[13]="abcdef";
strcat(string1,string2);
/*会不会出错?*/
追问:3 4 5 再说的详细点,深入点, 谢谢! 还有 memory.h 头文件的详细说明
答案:1. 求一段计算字符串长度的程序
计算字符串长度可用strlen(字符串)函数
2.
给二维数组赋值(还有其他简单方法吗?)
main()
{
int a[2][3],i,j;
for(i=0;i<=1;i++)
{
for(j=0;j<=2;j++)
{
a[i][j]=j;
}
}
if(i=1)
{
for(j=0;j<=2;j++)
{
a[i][j]=j;
}
}
}
方法一:memset(a,0,sizeof(a));//初始化数组为全0,这个方法要包含#include <memory.h>
方法二:int a[2][3]={1,2,3,4,5,6};//初始化为特定值
3.
看不懂(输入输出重定向)(有详细的资料麻烦说下)
可执行版本tax(unix)或tax.exe(ms-dos)
%tax<incomes.dat>out.dat
(我只知道意思是把incomes.dat输入到out.dat的表面意思,其他什么都不知道,)
它把incomes.dat作为输入文件,把out.dat作为输出文件。如果没有>out.dat,则由于输出未被重定向,所以输出默认在屏幕上显示,有>out.dat后原本在屏幕上的内容就到了out.dat文件中了。
4.
$define/user sys$ input infile.dat
(输入就被文件infile.dat 取代,不懂啊,很3一样)
define是VAX/VMS系统的命令,上面的语句将标准输入改变为文件outfile.dat,这样运行程序run tax时就会默认从infile.dat文件中读取输入数据。
5.
可执行程序版本为tax.exe
$define/user sys$input incomes.dat
$run tax
(完全不懂)
见对4的解答
6.
一个十进制常量没以U或L结尾,就属于int unsignedint long 或unsigned long
(这4中类型中第一个可靠表示其值的类型)(什么意思?)
整型常量可以用十进制、八进制和十六进制来表示。
(1)十进制整型常量由0至9的数字组成,没有前缀,不能以0开始,没有小数部分。有正负之分。例如:234,-76等
(2)八进制整型常量,以0为前缀,其后由0到7的数字组成,没有小数部分,不能带符号。例如:0357,072等。
(3)十六进制整型常量,用0x或0X为前缀,其后由0到9的数字和A到F(大小写均可)字母组成,没有小数部分,不能带符号。例如:0x7A,0x8ef等。
整型常量中的长整型用L(或l)做后缀表示。例如,32786L。
整型常量中的无符号型用U(或u)做后缀表示。例如,4365U。
整型常量后缀可以是U和L(u或l)的组合,表示unsigned long 类型的常量。例如:unsigned long l = 123UL;
7.
%e代表什么?
e格式:以指数形式输出实数。可用以下形式:
%e:数字部分(又称尾数)输出6位小数,指数部分占5位或4位。
%m.ne和%-m.ne:m、n和”-”字符含义与前相同。此处n指数据的数字部分的小数位数,m表示整个输出数据所占的宽度。
8.
for(x=0;i<=5;i+=0.1)
printf("%f.1",x);
(为什么没输出1.0)
f格式:用来输出实数(包括单、双精度),以小数形式输出。有以下几种用法:
%f:不指定宽度,整数部分全部输出并输出6位小数。
%m.nf:输出共占m列,其中有n位小数,如数值宽度小于m左端补空格。
%-m.nf:输出共占n列,其中有n位小数,如数值宽度小于m右端补空格。
正确的程序是:
printf("%1.1f",x);
9.
for(i=0;i<5;i++)
for(j=0;j<5;j++)
for(k=0;k<5;k++)
if(i+j+l==2)
goto out;
out:printf("%d%d%d",i,j,k); /*为什么if条件或满足*/
i+j+l必然会=2,所以条件满足
10.
char string1[5]="the",string2[13]="abcdef";
strcat(string1,string2);
/*会不会出错?*/
会出错,strcat功能是将string1和string2连接,结果放在string1中,很明显连接后的结果超过string1长度(string1只有5个字符)。
strlen(ch) 字符串长度测试函数
上一个:C语言练习帮帮忙,很急用,谢谢
下一个:请问有没有小妻腰上能用的手机端的C语言编程软件!