C语言系列之HelloWorld

一.欢迎来到我的酒馆

        讨论c语言中,我们常写的Hello world之间的区别。

二.HelloWorld

1.int main()

#include <stdio.h>
int main(){
    printf("Hello Wolrd!");
    return 0;
}

2.int main(void)

#include <stdio.h>
int main(void){
    printf("Hello Wolrd!");
    return 0;
}

在c11或更高的版本中,int main()和int main(void)是一样的,没有区别。

3.预测下面程序的结果。

#include <stdio.h>
int main(){
    printf("Hello Wolrd!\n");

    static int i = 5;
    if(i--){
        main(12,"qwer",'男');
    }
    return 0;
}

输出:

Hello Wolrd!
Hello Wolrd!
Hello Wolrd!
Hello Wolrd!
Hello Wolrd!
Hello Wolrd!

        规律:在c语言中,如果一个函数在定义的时候没有指定任何形参,调用它的时候可以写任何数量的实参或者不写实参。

4.1更进一步

#include <stdio.h>
int main(int args,char* argv[]){
    printf("Hello Wolrd!\n");
    return 0;
}

argc和argv这两个参数被称为"命令行参数"。
形参args表明从命令行传入的实参个数。
形参argv是一个指针数组,代表了从命令行传入的实参。

编译一下面的程序,

#include<stdio.h>
int main(int args,char*argv[]){
	int i;
    for(i=0;i<args;i++)
    {
        printf("%s\n",argv[i]);

    }
    return 0;
}

在这里插入图片描述

Objectvalue
argc4
argv[0]“./HelloWorld”
argv[1]“11”
argv[2]“22”
argv[3]“33”


4.2

#include <stdio.h>
int main(int args,char** argv){
    printf("Hello Wolrd!\n");
    return 0;
}

char**argv和char *argv[]区别??
没有区别。
只不过数据类型不一样,char **argv是二级指针类型,char*argv[]是指针数组类型。
就比如,char *** args和 char **argv[],没有区别,数据类型不同罢了。

4.3

#include<stdio.h>
int main(int args,char*argv[],char **env_var_ptr){
		 printf("Hello Wolrd!\n");
        return 0;
}

第三个参数char **env_var_ptr提供了一个环境变量。

#include<stdio.h>
int main(int args,char*argv[],char **env_var_ptr){

        int i;
        for(i=0;i<args;i++){
                printf("%s\n",argv[i]);
        }

        i=0;
        while(*env_var_ptr != NULL){
                printf("env var %d=%s\n",i++,*(env_var_ptr++));
        }
        return 0;
}

输出:

./HelloWorld
env var 0=XDG_VTNR=1
env var 1=SSH_AGENT_PID=1833
env var 2=XDG_SESSION_ID=1
env var 3=HOSTNAME=192.168.93.131
env var 4=IMSETTINGS_INTEGRATE_DESKTOP=yes
env var 5=VTE_VERSION=5204
env var 6=TERM=xterm-256color
env var 7=SHELL=/bin/bash
env var 8=XDG_MENU_PREFIX=gnome-
env var 9=HISTSIZE=1000
env var 10=GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/808648c6_1c07_4463_8b2e_7bd6b79a2ff7
env var 11=QT_GRAPHICSSYSTEM_CHECKED=1
env var 12=IMSETTINGS_MODULE=none
env var 13=USER=user
env var 14=LS_COLORS=rs=0:di=38;5;27:ln=38;5;51:mh=44;38;5;15:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=05;48;5;232;38;5;15:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;34:.tar=38;5;9:.tgz=38;5;9:.arc=38;5;9:.arj=38;5;9:.taz=38;5;9:.lha=38;5;9:.lz4=38;5;9:.lzh=38;5;9:.lzma=38;5;9:.tlz=38;5;9:.txz=38;5;9:.tzo=38;5;9:.t7z=38;5;9:.zip=38;5;9:.z=38;5;9:.Z=38;5;9:.dz=38;5;9:.gz=38;5;9:.lrz=38;5;9:.lz=38;5;9:.lzo=38;5;9:.xz=38;5;9:.bz2=38;5;9:.bz=38;5;9:.tbz=38;5;9:.tbz2=38;5;9:.tz=38;5;9:.deb=38;5;9:.rpm=38;5;9:.jar=38;5;9:.war=38;5;9:.ear=38;5;9:.sar=38;5;9:.rar=38;5;9:.alz=38;5;9:.ace=38;5;9:.zoo=38;5;9:.cpio=38;5;9:.7z=38;5;9:.rz=38;5;9:.cab=38;5;9:.jpg=38;5;13:.jpeg=38;5;13:.gif=38;5;13:.bmp=38;5;13:.pbm=38;5;13:.pgm=38;5;13:.ppm=38;5;13:.tga=38;5;13:.xbm=38;5;13:.xpm=38;5;13:.tif=38;5;13:.tiff=38;5;13:.png=38;5;13:.svg=38;5;13:.svgz=38;5;13:.mng=38;5;13:.pcx=38;5;13:.mov=38;5;13:.mpg=38;5;13:.mpeg=38;5;13:.m2v=38;5;13:.mkv=38;5;13:.webm=38;5;13:.ogm=38;5;13:.mp4=38;5;13:.m4v=38;5;13:.mp4v=38;5;13:.vob=38;5;13:.qt=38;5;13:.nuv=38;5;13:.wmv=38;5;13:.asf=38;5;13:.rm=38;5;13:.rmvb=38;5;13:.flc=38;5;13:.avi=38;5;13:.fli=38;5;13:.flv=38;5;13:.gl=38;5;13:.dl=38;5;13:.xcf=38;5;13:.xwd=38;5;13:.yuv=38;5;13:.cgm=38;5;13:.emf=38;5;13:.axv=38;5;13:.anx=38;5;13:.ogv=38;5;13:.ogx=38;5;13:.aac=38;5;45:.au=38;5;45:.flac=38;5;45:.mid=38;5;45:.midi=38;5;45:.mka=38;5;45:.mp3=38;5;45:.mpc=38;5;45:.ogg=38;5;45:.ra=38;5;45:.wav=38;5;45:.axa=38;5;45:.oga=38;5;45:.spx=38;5;45:*.xspf=38;5;45:
env var 15=GNOME_TERMINAL_SERVICE=:1.117
env var 16=SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
env var 17=USERNAME=user
env var 18=SESSION_MANAGER=local/unix:@/tmp/.ICE-unix/1704,unix/unix:/tmp/.ICE-unix/1704
env var 19=GNOME_SHELL_SESSION_MODE=classic
env var 20=PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/user/.local/bin:/home/user/bin
env var 21=MAIL=/var/spool/mail/user
env var 22=DESKTOP_SESSION=gnome-classic
env var 23=QT_IM_MODULE=ibus
env var 24=XDG_SESSION_TYPE=x11
env var 25=PWD=/home/user/code/c/HelloWorld
env var 26=XMODIFIERS=@im=ibus
env var 27=LANG=en_US.UTF-8
env var 28=GDM_LANG=en_US.UTF-8
env var 29=GDMSESSION=gnome-classic
env var 30=HISTCONTROL=ignoredups
env var 31=XDG_SEAT=seat0
env var 32=HOME=/home/user
env var 33=SHLVL=4
env var 34=GNOME_DESKTOP_SESSION_ID=this-is-deprecated
env var 35=XDG_SESSION_DESKTOP=gnome-classic
env var 36=LOGNAME=user
env var 37=XDG_DATA_DIRS=/home/user/.local/share/flatpak/exports/share/:/var/lib/flatpak/exports/share/:/usr/local/share/:/usr/share/
env var 38=DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-Xtr75n7bbw,guid=e72e91e41678ee79d004075864991657
env var 39=LESSOPEN=||/usr/bin/lesspipe.sh %s
env var 40=WINDOWPATH=1
env var 41=XDG_RUNTIME_DIR=/run/user/1000
env var 42=DISPLAY=:0
env var 43=XDG_CURRENT_DESKTOP=GNOME-Classic:GNOME
env var 44=COLORTERM=truecolor
env var 45=_=./HelloWorld
env var 46=OLDPWD=/home/user/code/c

  • 12
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 您好!以下是使用C语言编写“Hello, World!”的代码示例: ```c #include <stdio.h> int main() { printf("Hello, World!\n"); return 0; } ``` 以上代码使用了 `printf` 函数输出字符串 `"Hello, World!\n"`,其中 `\n` 表示换行符。在 C 语言中,`main` 函数是程序的入口点,因此该函数需要在程序中出现且仅出现一次。最后,返回值为 0 表示程序执行成功。 ### 回答2: 要用C语言写一个简单的"Hello, World!"程序,只需简单的几行代码即可: ```c #include <stdio.h> int main() { printf("Hello, World!"); return 0; } ``` 首先,我们使用`#include <stdio.h>`包含`stdio`标准库,其中定义了许多输入输出函数。然后,我们使用`int main()`来定义主函数。在C语言中,程序从`main()`函数开始执行。 `printf()`是C语言的一个标准库函数,用于将一系列字符打印到标准输出(通常是终端)。在这个例子中,我们将字符串"Hello, World!"作为参数传递给`printf()`函数,用于打印文本。 最后,我们使用`return 0`来指示程序正常结束,并将0作为主函数的返回值。 写完以上代码后,我们可以使用C编译器将代码编译成可执行文件。例如,我们可以将代码保存在一个名为`hello.c`的文件中,并使用以下命令将其编译为可执行文件: ``` gcc -o hello hello.c ``` 编译成功后,使用以下命令运行程序: ``` ./hello ``` 终端将会输出"Hello, World!",这就完成了使用C语言写一个简单的"Hello, World!"程序。 ### 回答3: 使用C语言编写"Hello World"非常简单。下面是一个使用最基础的C编程方式写出"Hello World"的示例代码: #include <stdio.h> int main() { printf("Hello World\n"); return 0; } 这个程序首先包含了stdio.h标准头文件,其中声明了printf()函数。main()函数是C程序的入口点。代码中的printf("Hello World\n")语句会在控制台输出"Hello World"这个字符串。最后,return 0;表示程序正常结束。 需要注意的是,printf()函数以及\n用于在输出中添加换行符,使输出结果更易于阅读。 要在C语言中编写"Hello World"不仅要了解基本的C语法,还需要掌握编译和运行C程序的方法。首先,将上述代码保存为一个以.c为后缀名的文件,如"hello.c"。然后,使用C编译器将代码编译成可执行文件。在命令行中,使用以下命令进行编译: gcc hello.c -o hello 这将生成一个可执行文件"hello"。最后,可以在控制台中运行这个可执行文件: ./hello 控制台将打印出"Hello World"这个字符串。这就是使用C语言编写"Hello World"的基本过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值